From 91f66ac43e4e44b3e14228021e2e0c7e809a20ec Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Sun, 7 Mar 2021 13:59:25 +0200 Subject: [PATCH 1/3] Support RollupJS exports property checks --- lexer.js | 117 ++-- lib/lexer.wasm | Bin 23577 -> 23956 bytes lib/lexer.wat | 983 +++++++++++++++++++-------------- src/lexer.c | 114 ++-- test/_unit.js | 4 +- test/samples/typescript.min.js | 3 + 6 files changed, 726 insertions(+), 495 deletions(-) create mode 100755 test/samples/typescript.min.js diff --git a/lexer.js b/lexer.js index 773acf2..0aac189 100755 --- a/lexer.js +++ b/lexer.js @@ -254,6 +254,48 @@ function tryBacktrackAddStarExportBinding (bPos) { } } +// `Object.` `prototype.`? hasOwnProperty.call(` IDENTIFIER `, ` IDENTIFIER$2 `)` +function tryParseObjectHasOwnProperty (it_id) { + ch = commentWhitespace(); + if (ch !== 79/*O*/ || !source.startsWith('bject', pos + 1)) return false; + pos += 6; + ch = commentWhitespace(); + if (ch !== 46/*.*/) return false; + pos++; + ch = commentWhitespace(); + if (ch === 112/*p*/) { + if (!source.startsWith('rototype', pos + 1)) return false; + pos += 9; + ch = commentWhitespace(); + if (ch !== 46/*.*/) return false; + pos++; + ch = commentWhitespace(); + } + if (ch !== 104/*h*/ || !source.startsWith('asOwnProperty', pos + 1)) return false; + pos += 14; + ch = commentWhitespace(); + if (ch !== 46/*.*/) return false; + pos++; + ch = commentWhitespace(); + if (ch !== 99/*c*/ || !source.startsWith('all', pos + 1)) return false; + pos += 4; + ch = commentWhitespace(); + if (ch !== 40/*(*/) return false; + pos++; + ch = commentWhitespace(); + if (!identifier()) return false; + ch = commentWhitespace(); + if (ch !== 44/*,*/) return false; + pos++; + ch = commentWhitespace(); + if (!source.startsWith(it_id, pos)) return false; + pos += it_id.length; + ch = commentWhitespace(); + if (ch !== 41/*)*/) return false; + pos++; + return true; +} + function tryParseObjectDefineOrKeys (keys) { pos += 6; let revertPos = pos - 1; @@ -474,7 +516,7 @@ function tryParseObjectDefineOrKeys (keys) { pos++; ch = commentWhitespace(); } - // `if (` IDENTIFIER$2 `!==` ( `'default'` | `"default"` ) `)` + // `if (` IDENTIFIER$2 `!==` ( `'default'` | `"default"` ) (`&& !` IDENTIFIER `.hasOwnProperty(` IDENTIFIER$2 `)` )? `)` else if (ch === 33/*!*/) { if (!source.startsWith('==', pos + 1)) break; pos += 3; @@ -487,6 +529,34 @@ function tryParseObjectDefineOrKeys (keys) { if (ch !== quot) break; pos += 1; ch = commentWhitespace(); + if (ch === 38/*&*/) { + if (source.charCodeAt(pos + 1) !== 38/*&*/) break; + pos += 2; + ch = commentWhitespace(); + if (ch !== 33/*!*/) break; + pos += 1; + ch = commentWhitespace(); + if (source.startsWith(id, pos)) { + pos += id.length; + ch = commentWhitespace(); + if (ch !== 46/*.*/) break; + pos++; + ch = commentWhitespace(); + if (ch !== 104/*h*/ || !source.startsWith('asOwnProperty', pos + 1)) break; + pos += 14; + ch = commentWhitespace(); + if (ch !== 40/*(*/) break; + pos += 1; + ch = commentWhitespace(); + if (!source.startsWith(it_id, pos)) break; + pos += it_id.length; + ch = commentWhitespace(); + if (ch !== 41/*)*/) break; + pos += 1; + } + else if (!tryParseObjectHasOwnProperty(it_id)) break; + ch = commentWhitespace(); + } if (ch !== 41/*)*/) break; pos += 1; ch = commentWhitespace(); @@ -495,59 +565,18 @@ function tryParseObjectDefineOrKeys (keys) { // `if (Object.prototype.hasOwnProperty.call(` IDENTIFIER `, ` IDENTIFIER$2 `)) return` `;`? currentIfStatement: if (ch === 105/*i*/ && source.charCodeAt(pos + 1) === 102/*f*/) { - let ifStartPos = pos; - + const ifStartPos = pos; pos += 2; ch = commentWhitespace(); if (ch !== 40/*(*/) break; pos++; - ch = commentWhitespace(); - if (ch !== 79/*O*/ || !source.startsWith('bject', pos + 1)) { - // Revert parsing the current optional if statement, but don't bail - // out since we can try parse the next possible if statement. - pos = ifStartPos; - ch = 105/*i*/; - break currentIfStatement; - } - pos += 6; - ch = commentWhitespace(); - if (ch !== 46/*.*/) { + if (!tryParseObjectHasOwnProperty(it_id)) { // Revert parsing the current optional if statement, but don't bail // out since we can try parse the next possible if statement. pos = ifStartPos; ch = 105/*i*/; break currentIfStatement; } - pos++; - ch = commentWhitespace(); - if (ch !== 112/*p*/ || !source.startsWith('rototype', pos + 1)) break; - pos += 9; - ch = commentWhitespace(); - if (ch !== 46/*.*/) break; - pos++; - ch = commentWhitespace(); - if (ch !== 104/*h*/ || !source.startsWith('asOwnProperty', pos + 1)) break; - pos += 14; - ch = commentWhitespace(); - if (ch !== 46/*.*/) break; - pos++; - ch = commentWhitespace(); - if (ch !== 99/*c*/ || !source.startsWith('all', pos + 1)) break; - pos += 4; - ch = commentWhitespace(); - if (ch !== 40/*(*/) break; - pos++; - ch = commentWhitespace(); - if (!identifier()) break; - ch = commentWhitespace(); - if (ch !== 44/*,*/) break; - pos++; - ch = commentWhitespace(); - if (!source.startsWith(it_id, pos)) break; - pos += it_id.length; - ch = commentWhitespace(); - if (ch !== 41/*)*/) break; - pos++; ch = commentWhitespace(); if (ch !== 41/*)*/) break; pos++; diff --git a/lib/lexer.wasm b/lib/lexer.wasm index 3cb98785277f66d4ec119cc25c29ac82b1b64f12..03c81695e0db80b4f7ffd7117f2261a864190892 100755 GIT binary patch delta 1317 zcmbtUy=xRf6rY*>x_GzA-uLBp&zoIHE@#Xc4Hz&aW+LYy5iNw2nxIvpVxjekS}HL< zMFN5eXk!tCZ3Hb$VP&CzKoDXOR8m-2rtr;fcJm=t&K5H}`+M*G-uu0`i*M-TxAfti z3TwA%ds=Pd!o5T8!J=*D)WpK`VZ+oJuC9f(`|8FLo$#;Hmnrt3*Uxso(%ZtMoNzYh z>4M&J4MDiZ6+C(gL2u3;XYZCM8<&q&^N4Uyn}icF+A>u^`s7EC9HA_@;CNEEKOshs zj03}3Xy~;}Eg4yAg3ZEUzG7;^3c*&56PR%da3kMo1&+5!5DNXNkhZfhZL1wZ21n8f zSjm@0{v$rnLLGw__67gURk-Zr;B{4_D%|d_YC$}hFO=hGN}R1Cx%@L*bthXG$UBdU z>b`8##T;DE7(Kl$lSG9HQo@TMtWYC*!o}JY`=uB$k~6MbLYiVhj94cy?@j|(Ren`fOO~PdHbS^{(B(=x`On1LWC0Rf`0rm2eU2oUy9@s3ONXpbggaJqGp*@HX zyZT_nITK*RzA#|kk=XDp;eT|hG$TwU3>DW1Rx4$AS}ps72Ulre9wH3bst%=g;~|}? zN|9iOuX_e2o0{!oQuTz~J!KB(rG<0ExFXf?uekR#I`04Itts@RpFZ@A;*N zz`C954rWvlzy5Lr2TD%oXw#&jdo<0!`7C!_shEqbh3t{N!QoP=VQ*g{V5e!YujDld zJ9idY?YEPEgLQe!75O{ZjE;JEj2R?i^4Nuu!!Bz86U1U1j_)cSjvA+^nn%M%mleW7 d)7U{>W{3SP-BxLhMl2$!J3>-=(wj)3)uR<}dXof2(1VB8 zr=U=24*r0Lg6u(yf@eYSE_f)YC@9pUAmW?dY!eUOoQ0h?^SDl zNHbUu9XkB*w+VCgcs?fjB?Kp^Vz3*H?XK6T;r;smutG9 zmzItwuXQ4Ov-F8)^?_gEr{x-E$+Yx<`oY#<5za5!cd7NE|( z3Ih7iM9re6q&eZrg_?n_s+w@6*iOk7iFYUvft#gr-J(e1S_IBSHW8Va8zHB#Bf|hV zn9FCkkdC#+oh9)0P$|`D$s10@PFOEhwJ#C@8--~|mu+}nD#CJu9UXAwG;B%?CvqIV zC8i#mQ6w|bPmF_IaWs1pb3ica!gntXb(dv=IA_#FnBg4Sya-#x$0LEI$PiqIwcU4z zPEB_)ZD8|buL)1w#$VnsFufk$$l;LeXWm?1;^VWqJ?qf%_6=a6C{-vP@p+OJo-hBV zD$?LwIS-wRKjd1kq$o9EgO5r;_?}b!hPkO0 SgP$iC!ZU|^UU>Rc)A|E>G0imq diff --git a/lib/lexer.wat b/lib/lexer.wat index 2a626b3..9c1aa8a 100644 --- a/lib/lexer.wat +++ b/lib/lexer.wat @@ -12,9 +12,9 @@ (type (;10;) (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) (type (;11;) (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) (type (;12;) (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) - (type (;13;) (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) + (type (;13;) (func (param i32 i32) (result i32))) (type (;14;) (func (param i32 i32 i32 i32) (result i32))) - (type (;15;) (func (param i32 i32) (result i32))) + (type (;15;) (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32))) (func (;0;) (type 2) (param i32) (result i32) (local i32) i32.const 0 @@ -2237,14 +2237,21 @@ local.get 4 i32.sub local.tee 3 - call 64 + call 65 br_if 1 (;@1;) + local.get 0 + local.get 2 + i32.sub + local.tee 6 + i32.const 1 + i32.shr_s + local.set 7 i32.const 0 local.get 5 local.get 3 i32.const 1 i32.shr_s - local.tee 6 + local.tee 8 i32.const 1 i32.shl i32.add @@ -2253,45 +2260,45 @@ block ;; label = @4 block ;; label = @5 call 39 - local.tee 5 + local.tee 0 i32.const 33 i32.eq br_if 0 (;@5;) - local.get 5 + local.get 0 i32.const 61 i32.ne br_if 4 (;@1;) i32.const 0 i32.load offset=20540 - local.tee 5 + local.tee 0 i32.load16_u offset=2 i32.const 61 i32.ne br_if 4 (;@1;) - local.get 5 + local.get 0 i32.load16_u offset=4 i32.const 61 i32.ne br_if 4 (;@1;) i32.const 0 - local.get 5 + local.get 0 i32.const 6 i32.add i32.store offset=20540 block ;; label = @6 call 39 - local.tee 5 + local.tee 0 i32.const 39 i32.eq br_if 0 (;@6;) - local.get 5 + local.get 0 i32.const 34 i32.ne br_if 5 (;@1;) end i32.const 0 i32.load offset=20540 - local.tee 7 + local.tee 5 i32.const 2 i32.add i32.const 100 @@ -2305,12 +2312,12 @@ i32.eqz br_if 4 (;@1;) i32.const 0 - local.get 7 + local.get 5 i32.const 16 i32.add i32.store offset=20540 call 39 - local.get 5 + local.get 0 i32.ne br_if 4 (;@1;) i32.const 0 @@ -2325,13 +2332,13 @@ br_if 4 (;@1;) i32.const 0 i32.load offset=20540 - local.tee 5 + local.tee 0 i32.load16_u offset=2 i32.const 124 i32.ne br_if 4 (;@1;) i32.const 0 - local.get 5 + local.get 0 i32.const 4 i32.add i32.store offset=20540 @@ -2339,14 +2346,14 @@ drop i32.const 0 i32.load offset=20540 - local.tee 5 + local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 4 (;@1;) i32.const 0 - local.get 5 - local.get 6 + local.get 0 + local.get 8 i32.const 1 i32.shl i32.add @@ -2357,35 +2364,35 @@ br_if 4 (;@1;) i32.const 0 i32.load offset=20540 - local.tee 5 + local.tee 0 i32.load16_u offset=2 i32.const 61 i32.ne br_if 4 (;@1;) - local.get 5 + local.get 0 i32.load16_u offset=4 i32.const 61 i32.ne br_if 4 (;@1;) i32.const 0 - local.get 5 + local.get 0 i32.const 6 i32.add i32.store offset=20540 block ;; label = @6 call 39 - local.tee 5 + local.tee 0 i32.const 39 i32.eq br_if 0 (;@6;) - local.get 5 + local.get 0 i32.const 34 i32.ne br_if 5 (;@1;) end i32.const 0 i32.load offset=20540 - local.tee 7 + local.tee 5 i32.const 2 i32.add i32.const 95 @@ -2402,12 +2409,12 @@ i32.eqz br_if 4 (;@1;) i32.const 0 - local.get 7 + local.get 5 i32.const 22 i32.add i32.store offset=20540 call 39 - local.get 5 + local.get 0 i32.ne br_if 4 (;@1;) i32.const 0 @@ -2432,7 +2439,7 @@ br_if 4 (;@1;) i32.const 0 i32.load offset=20540 - local.tee 5 + local.tee 0 i32.const 2 i32.add i32.const 101 @@ -2444,7 +2451,7 @@ i32.eqz br_if 4 (;@1;) i32.const 0 - local.get 5 + local.get 0 i32.const 12 i32.add i32.store offset=20540 @@ -2456,35 +2463,35 @@ end i32.const 0 i32.load offset=20540 - local.tee 5 + local.tee 0 i32.load16_u offset=2 i32.const 61 i32.ne br_if 3 (;@1;) - local.get 5 + local.get 0 i32.load16_u offset=4 i32.const 61 i32.ne br_if 3 (;@1;) i32.const 0 - local.get 5 + local.get 0 i32.const 6 i32.add i32.store offset=20540 block ;; label = @5 call 39 - local.tee 5 + local.tee 0 i32.const 39 i32.eq br_if 0 (;@5;) - local.get 5 + local.get 0 i32.const 34 i32.ne br_if 4 (;@1;) end i32.const 0 i32.load offset=20540 - local.tee 7 + local.tee 5 i32.const 2 i32.add i32.const 100 @@ -2498,60 +2505,12 @@ i32.eqz br_if 3 (;@1;) i32.const 0 - local.get 7 - i32.const 16 - i32.add - i32.store offset=20540 - call 39 - local.get 5 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.const 0 - i32.load offset=20540 - i32.const 2 - i32.add - i32.store offset=20540 - call 39 - i32.const 41 - i32.ne - br_if 3 (;@1;) - end - i32.const 0 - i32.const 0 - i32.load offset=20540 - i32.const 2 - i32.add - i32.store offset=20540 - end - local.get 0 - local.get 2 - i32.sub - local.tee 7 - i32.const 1 - i32.shr_s - local.set 8 - block ;; label = @3 - call 39 - local.tee 0 - i32.const 105 - i32.ne - br_if 0 (;@3;) - block ;; label = @4 - i32.const 0 - i32.load offset=20540 - local.tee 5 - i32.load16_u offset=2 - i32.const 102 - i32.ne - br_if 0 (;@4;) - i32.const 0 local.get 5 - i32.const 4 + i32.const 16 i32.add i32.store offset=20540 call 39 - i32.const 40 + local.get 0 i32.ne br_if 3 (;@1;) i32.const 0 @@ -2561,193 +2520,171 @@ i32.add i32.store offset=20540 block ;; label = @5 - block ;; label = @6 - call 39 - i32.const 79 - i32.ne - br_if 0 (;@6;) - i32.const 0 - i32.load offset=20540 - local.tee 0 - i32.const 2 - i32.add - i32.const 98 - i32.const 106 - i32.const 101 - i32.const 99 - i32.const 116 - call 19 - br_if 1 (;@5;) - end + call 39 + local.tee 0 + i32.const 38 + i32.ne + br_if 0 (;@5;) i32.const 0 - local.get 5 + i32.load offset=20540 + local.tee 0 + i32.load16_u offset=2 + i32.const 38 + i32.ne + br_if 4 (;@1;) + i32.const 0 + local.get 0 + i32.const 4 + i32.add i32.store offset=20540 - br 1 (;@4;) - end - i32.const 0 - local.get 0 - i32.const 12 - i32.add - i32.store offset=20540 - block ;; label = @5 call 39 - i32.const 46 - i32.eq - br_if 0 (;@5;) + i32.const 33 + i32.ne + br_if 4 (;@1;) i32.const 0 - local.get 5 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add i32.store offset=20540 - br 1 (;@4;) - end - i32.const 0 - i32.const 0 - i32.load offset=20540 - i32.const 2 - i32.add - i32.store offset=20540 - call 39 - i32.const 112 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.load offset=20540 - local.tee 0 - i32.const 2 - i32.add - i32.const 114 - i32.const 111 - i32.const 116 - i32.const 111 - i32.const 116 - i32.const 121 - i32.const 112 - i32.const 101 - call 51 - i32.eqz - br_if 3 (;@1;) - i32.const 0 - local.get 0 - i32.const 18 - i32.add - i32.store offset=20540 - call 39 - i32.const 46 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.const 0 - i32.load offset=20540 - i32.const 2 - i32.add - i32.store offset=20540 - call 39 - i32.const 104 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.load offset=20540 - local.tee 0 - i32.const 2 - i32.add - i32.const 97 - i32.const 115 - i32.const 79 - i32.const 119 - i32.const 110 - i32.const 80 - i32.const 114 - i32.const 111 - i32.const 112 - i32.const 101 - i32.const 114 - i32.const 116 - i32.const 121 - call 47 - i32.eqz - br_if 3 (;@1;) - i32.const 0 - local.get 0 - i32.const 28 - i32.add - i32.store offset=20540 - call 39 - i32.const 46 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.const 0 - i32.load offset=20540 - i32.const 2 - i32.add - i32.store offset=20540 - call 39 - i32.const 99 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.load offset=20540 - local.tee 0 - i32.load16_u offset=2 - i32.const 97 - i32.ne - br_if 3 (;@1;) - local.get 0 - i32.load16_u offset=4 - i32.const 108 - i32.ne - br_if 3 (;@1;) - local.get 0 - i32.load16_u offset=6 - i32.const 108 - i32.ne - br_if 3 (;@1;) - i32.const 0 - local.get 0 - i32.const 8 - i32.add - i32.store offset=20540 - call 39 - i32.const 40 - i32.ne - br_if 3 (;@1;) - i32.const 0 - i32.const 0 - i32.load offset=20540 - i32.const 2 - i32.add - i32.store offset=20540 - call 39 - call 45 - i32.eqz - br_if 3 (;@1;) - call 39 - i32.const 44 + call 39 + drop + block ;; label = @6 + block ;; label = @7 + i32.const 0 + i32.load offset=20540 + local.tee 0 + local.get 2 + local.get 6 + call 65 + br_if 0 (;@7;) + i32.const 0 + local.get 0 + local.get 7 + i32.const 1 + i32.shl + i32.add + i32.store offset=20540 + call 39 + i32.const 46 + i32.ne + br_if 6 (;@1;) + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + call 39 + i32.const 104 + i32.ne + br_if 6 (;@1;) + i32.const 0 + i32.load offset=20540 + local.tee 0 + i32.const 2 + i32.add + i32.const 97 + i32.const 115 + i32.const 79 + i32.const 119 + i32.const 110 + i32.const 80 + i32.const 114 + i32.const 111 + i32.const 112 + i32.const 101 + i32.const 114 + i32.const 116 + i32.const 121 + call 47 + i32.eqz + br_if 6 (;@1;) + i32.const 0 + local.get 0 + i32.const 28 + i32.add + i32.store offset=20540 + call 39 + i32.const 40 + i32.ne + br_if 6 (;@1;) + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + call 39 + drop + i32.const 0 + i32.load offset=20540 + local.tee 0 + local.get 4 + local.get 3 + call 65 + br_if 6 (;@1;) + i32.const 0 + local.get 0 + local.get 8 + i32.const 1 + i32.shl + i32.add + i32.store offset=20540 + call 39 + i32.const 41 + i32.ne + br_if 6 (;@1;) + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + br 1 (;@6;) + end + local.get 4 + local.get 8 + call 51 + i32.eqz + br_if 5 (;@1;) + end + call 39 + local.set 0 + end + local.get 0 + i32.const 41 i32.ne br_if 3 (;@1;) - i32.const 0 - i32.const 0 - i32.load offset=20540 - i32.const 2 - i32.add - i32.store offset=20540 - call 39 - drop + end + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + end + block ;; label = @3 + call 39 + local.tee 0 + i32.const 105 + i32.ne + br_if 0 (;@3;) + block ;; label = @4 i32.const 0 i32.load offset=20540 - local.tee 0 - local.get 4 - local.get 3 - call 64 - br_if 3 (;@1;) + local.tee 5 + i32.load16_u offset=2 + i32.const 102 + i32.ne + br_if 0 (;@4;) i32.const 0 - local.get 0 - local.get 6 - i32.const 1 - i32.shl + local.get 5 + i32.const 4 i32.add i32.store offset=20540 call 39 - i32.const 41 + i32.const 40 i32.ne br_if 3 (;@1;) i32.const 0 @@ -2756,6 +2693,16 @@ i32.const 2 i32.add i32.store offset=20540 + block ;; label = @5 + local.get 4 + local.get 8 + call 51 + br_if 0 (;@5;) + i32.const 0 + local.get 5 + i32.store offset=20540 + br 1 (;@4;) + end call 39 i32.const 41 i32.ne @@ -2838,11 +2785,11 @@ local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 2 (;@1;) i32.const 0 local.get 0 - local.get 6 + local.get 8 i32.const 1 i32.shl i32.add @@ -2909,11 +2856,11 @@ local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 2 (;@1;) i32.const 0 local.get 0 - local.get 6 + local.get 8 i32.const 1 i32.shl i32.add @@ -2955,12 +2902,12 @@ i32.load offset=20540 local.tee 0 local.get 2 - local.get 7 - call 64 + local.get 6 + call 65 br_if 2 (;@1;) i32.const 0 local.get 0 - local.get 8 + local.get 7 i32.const 1 i32.shl i32.add @@ -2982,11 +2929,11 @@ local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 2 (;@1;) i32.const 0 local.get 0 - local.get 6 + local.get 8 i32.const 1 i32.shl i32.add @@ -3072,11 +3019,11 @@ local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 4 (;@1;) i32.const 0 local.get 0 - local.get 6 + local.get 8 i32.const 1 i32.shl i32.add @@ -3107,12 +3054,12 @@ i32.load offset=20540 local.tee 0 local.get 2 - local.get 7 - call 64 + local.get 6 + call 65 br_if 4 (;@1;) i32.const 0 local.get 0 - local.get 8 + local.get 7 i32.const 1 i32.shl i32.add @@ -3134,11 +3081,11 @@ local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 4 (;@1;) i32.const 0 local.get 0 - local.get 6 + local.get 8 i32.const 1 i32.shl i32.add @@ -3259,11 +3206,11 @@ local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 3 (;@1;) i32.const 0 local.get 0 - local.get 6 + local.get 8 i32.const 1 i32.shl i32.add @@ -3478,12 +3425,12 @@ i32.load offset=20540 local.tee 0 local.get 2 - local.get 7 - call 64 + local.get 6 + call 65 br_if 3 (;@1;) i32.const 0 local.get 0 - local.get 8 + local.get 7 i32.const 1 i32.shl i32.add @@ -3505,11 +3452,11 @@ local.tee 0 local.get 4 local.get 3 - call 64 + call 65 br_if 3 (;@1;) i32.const 0 local.get 0 - local.get 6 + local.get 8 i32.const 1 i32.shl i32.add @@ -3625,7 +3572,7 @@ local.get 0 i32.eq br_if 0 (;@5;) - local.get 8 + local.get 7 local.get 0 i32.const 12 i32.add @@ -3642,8 +3589,8 @@ br_if 1 (;@4;) local.get 2 local.get 3 - local.get 7 - call 64 + local.get 6 + call 65 br_if 1 (;@4;) local.get 0 i32.load @@ -4314,7 +4261,7 @@ i32.store offset=20540 br 1 (;@1;) end - call 63 + call 64 drop br 0 (;@1;) end) @@ -4675,7 +4622,7 @@ i32.ne br_if 0 (;@2;) local.get 1 - call 62 + call 63 i32.eqz br_if 1 (;@1;) end @@ -4866,7 +4813,7 @@ i32.const 46 i32.ne local.get 0 - call 62 + call 63 i32.and local.set 1 end @@ -5214,7 +5161,7 @@ (func (;45;) (type 2) (param i32) (result i32) (local i32 i32) local.get 0 - call 61 + call 62 local.tee 0 call 42 local.set 1 @@ -5247,7 +5194,7 @@ i32.store offset=20540 local.get 0 i32.load16_u - call 61 + call 62 local.tee 1 i32.eqz br_if 1 (;@2;) @@ -5672,142 +5619,319 @@ local.get 3 i32.ne br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=6 - local.get 4 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=8 - local.get 5 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=10 - local.get 6 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=12 - local.get 7 - i32.ne + local.get 0 + i32.load16_u offset=6 + local.get 4 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=8 + local.get 5 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=10 + local.get 6 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=12 + local.get 7 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=14 + local.get 8 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=16 + local.get 9 + i32.eq + local.set 10 + end + local.get 10) + (func (;50;) (type 12) (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32) + (local i32) + i32.const 0 + local.set 11 + block ;; label = @1 + local.get 0 + i32.load16_u + local.get 1 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=2 + local.get 2 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=4 + local.get 3 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=6 + local.get 4 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=8 + local.get 5 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=10 + local.get 6 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=12 + local.get 7 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=14 + local.get 8 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=16 + local.get 9 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=18 + local.get 10 + i32.eq + local.set 11 + end + local.get 11) + (func (;51;) (type 13) (param i32 i32) (result i32) + (local i32 i32) + i32.const 0 + local.set 2 + block ;; label = @1 + call 39 + i32.const 79 + i32.ne + br_if 0 (;@1;) + i32.const 0 + local.set 2 + i32.const 0 + i32.load offset=20540 + local.tee 3 + i32.const 2 + i32.add + i32.const 98 + i32.const 106 + i32.const 101 + i32.const 99 + i32.const 116 + call 19 + i32.eqz + br_if 0 (;@1;) + i32.const 0 + local.set 2 + i32.const 0 + local.get 3 + i32.const 12 + i32.add + i32.store offset=20540 + call 39 + i32.const 46 + i32.ne + br_if 0 (;@1;) + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + block ;; label = @2 + call 39 + local.tee 3 + i32.const 112 + i32.ne + br_if 0 (;@2;) + i32.const 0 + local.set 2 + i32.const 0 + i32.load offset=20540 + local.tee 3 + i32.const 2 + i32.add + i32.const 114 + i32.const 111 + i32.const 116 + i32.const 111 + i32.const 116 + i32.const 121 + i32.const 112 + i32.const 101 + call 61 + i32.eqz + br_if 1 (;@1;) + i32.const 0 + local.set 2 + i32.const 0 + local.get 3 + i32.const 18 + i32.add + i32.store offset=20540 + call 39 + i32.const 46 + i32.ne + br_if 1 (;@1;) + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + call 39 + local.set 3 + end + i32.const 0 + local.set 2 + local.get 3 + i32.const 104 + i32.ne + br_if 0 (;@1;) + i32.const 0 + local.set 2 + i32.const 0 + i32.load offset=20540 + local.tee 3 + i32.const 2 + i32.add + i32.const 97 + i32.const 115 + i32.const 79 + i32.const 119 + i32.const 110 + i32.const 80 + i32.const 114 + i32.const 111 + i32.const 112 + i32.const 101 + i32.const 114 + i32.const 116 + i32.const 121 + call 47 + i32.eqz br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=14 - local.get 8 + i32.const 0 + local.set 2 + i32.const 0 + local.get 3 + i32.const 28 + i32.add + i32.store offset=20540 + call 39 + i32.const 46 i32.ne br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=16 - local.get 9 - i32.eq - local.set 10 - end - local.get 10) - (func (;50;) (type 12) (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32) - (local i32) - i32.const 0 - local.set 11 - block ;; label = @1 - local.get 0 - i32.load16_u - local.get 1 + i32.const 0 + local.set 2 + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + call 39 + i32.const 99 i32.ne br_if 0 (;@1;) - local.get 0 + i32.const 0 + local.set 2 + i32.const 0 + i32.load offset=20540 + local.tee 3 i32.load16_u offset=2 - local.get 2 + i32.const 97 i32.ne br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=4 local.get 3 + i32.load16_u offset=4 + i32.const 108 i32.ne br_if 0 (;@1;) - local.get 0 + local.get 3 i32.load16_u offset=6 - local.get 4 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=8 - local.get 5 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=10 - local.get 6 + i32.const 108 i32.ne br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=12 - local.get 7 + i32.const 0 + local.set 2 + i32.const 0 + local.get 3 + i32.const 8 + i32.add + i32.store offset=20540 + call 39 + i32.const 40 i32.ne br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=14 - local.get 8 - i32.ne + i32.const 0 + local.set 2 + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + call 39 + call 45 + i32.eqz br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=16 - local.get 9 + call 39 + i32.const 44 i32.ne br_if 0 (;@1;) + i32.const 0 + local.set 2 + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + call 39 + drop + i32.const 0 + i32.load offset=20540 + local.tee 3 local.get 0 - i32.load16_u offset=18 - local.get 10 - i32.eq - local.set 11 - end - local.get 11) - (func (;51;) (type 13) (param i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32) - (local i32) - i32.const 0 - local.set 9 - block ;; label = @1 - local.get 0 - i32.load16_u local.get 1 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=2 - local.get 2 - i32.ne + i32.const 1 + i32.shl + local.tee 1 + call 65 br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=4 + i32.const 0 + local.set 2 + i32.const 0 local.get 3 + local.get 1 + i32.add + i32.store offset=20540 + call 39 + i32.const 41 i32.ne br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=6 - local.get 4 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=8 - local.get 5 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=10 - local.get 6 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=12 - local.get 7 - i32.ne - br_if 0 (;@1;) - local.get 0 - i32.load16_u offset=14 - local.get 8 - i32.eq - local.set 9 + i32.const 0 + i32.const 0 + i32.load offset=20540 + i32.const 2 + i32.add + i32.store offset=20540 + i32.const 1 + local.set 2 end - local.get 9) + local.get 2) (func (;52;) (type 4) (param i32 i32 i32 i32 i32 i32) (result i32) (local i32 i32 i32) i32.const 0 @@ -5934,7 +6058,7 @@ local.set 7 end local.get 7) - (func (;55;) (type 15) (param i32 i32) (result i32) + (func (;55;) (type 13) (param i32 i32) (result i32) (local i32 i32) i32.const 0 local.set 2 @@ -9319,7 +9443,54 @@ return end i32.const 1) - (func (;61;) (type 2) (param i32) (result i32) + (func (;61;) (type 15) (param i32 i32 i32 i32 i32 i32 i32 i32 i32) (result i32) + (local i32) + i32.const 0 + local.set 9 + block ;; label = @1 + local.get 0 + i32.load16_u + local.get 1 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=2 + local.get 2 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=4 + local.get 3 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=6 + local.get 4 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=8 + local.get 5 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=10 + local.get 6 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=12 + local.get 7 + i32.ne + br_if 0 (;@1;) + local.get 0 + i32.load16_u offset=14 + local.get 8 + i32.eq + local.set 9 + end + local.get 9) + (func (;62;) (type 2) (param i32) (result i32) block ;; label = @1 local.get 0 i32.const 64512 @@ -9343,7 +9514,7 @@ local.set 0 end local.get 0) - (func (;62;) (type 2) (param i32) (result i32) + (func (;63;) (type 2) (param i32) (result i32) (local i32 i32) i32.const 1 local.set 1 @@ -9400,7 +9571,7 @@ local.set 1 end local.get 1) - (func (;63;) (type 3) (result i32) + (func (;64;) (type 3) (result i32) (local i32 i32 i32 i32 i32) i32.const 0 i32.load offset=20540 @@ -9466,7 +9637,7 @@ local.set 0 br 0 (;@1;) end) - (func (;64;) (type 8) (param i32 i32 i32) (result i32) + (func (;65;) (type 8) (param i32 i32 i32) (result i32) (local i32 i32 i32) i32.const 0 local.set 3 diff --git a/src/lexer.c b/src/lexer.c index 32c1d63..ef972fb 100755 --- a/src/lexer.c +++ b/src/lexer.c @@ -267,6 +267,47 @@ void tryBacktrackAddStarExportBinding (uint16_t* bPos) { } } +bool tryParseObjectHasOwnProperty (uint16_t* it_id_start, ptrdiff_t it_id_len) { + uint16_t ch = commentWhitespace(); + if (ch != 'O' || !str_eq5(pos + 1, 'b', 'j', 'e', 'c', 't')) return false; + pos += 6; + ch = commentWhitespace(); + if (ch != '.') return false; + pos++; + ch = commentWhitespace(); + if (ch == 'p') { + if (!str_eq8(pos + 1, 'r', 'o', 't', 'o', 't', 'y', 'p', 'e')) return false; + pos += 9; + ch = commentWhitespace(); + if (ch != '.') return false; + pos++; + ch = commentWhitespace(); + } + if (ch != 'h' || !str_eq13(pos + 1, 'a', 's', 'O', 'w', 'n', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'y')) return false; + pos += 14; + ch = commentWhitespace(); + if (ch != '.') return false; + pos++; + ch = commentWhitespace(); + if (ch != 'c' || !str_eq3(pos + 1, 'a', 'l', 'l')) return false; + pos += 4; + ch = commentWhitespace(); + if (ch != '(') return false; + pos++; + ch = commentWhitespace(); + if (!identifier(ch)) return false; + ch = commentWhitespace(); + if (ch != ',') return false; + pos++; + ch = commentWhitespace(); + if (memcmp(pos, it_id_start, it_id_len * sizeof(uint16_t)) != 0) return false; + pos += it_id_len; + ch = commentWhitespace(); + if (ch != ')') return false; + pos++; + return true; +} + void tryParseObjectDefineOrKeys (bool keys) { pos += 6; uint16_t* revertPos = pos - 1; @@ -488,7 +529,7 @@ void tryParseObjectDefineOrKeys (bool keys) { pos++; ch = commentWhitespace(); } - // `if (` IDENTIFIER$2 `!==` ( `'default'` | `"default"` ) `)` + // `if (` IDENTIFIER$2 `!==` ( `'default'` | `"default"` ) (`&& !` IDENTIFIER `.hasOwnProperty(` IDENTIFIER$2 `)` )? `)` else if (ch == '!') { if (!str_eq2(pos + 1, '=', '=')) break; pos += 3; @@ -501,6 +542,34 @@ void tryParseObjectDefineOrKeys (bool keys) { if (ch != quot) break; pos += 1; ch = commentWhitespace(); + if (ch == '&') { + if (*(pos + 1) != '&') break; + pos += 2; + ch = commentWhitespace(); + if (ch != '!') break; + pos += 1; + ch = commentWhitespace(); + if (memcmp(pos, id_start, id_len * sizeof(uint16_t)) == 0) { + pos += id_len; + ch = commentWhitespace(); + if (ch != '.') break; + pos++; + ch = commentWhitespace(); + if (ch != 'h' || !str_eq13(pos + 1, 'a', 's', 'O', 'w', 'n', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'y')) break; + pos += 14; + ch = commentWhitespace(); + if (ch != '(') break; + pos += 1; + ch = commentWhitespace(); + if (memcmp(pos, it_id_start, it_id_len * sizeof(uint16_t)) != 0) break; + pos += it_id_len; + ch = commentWhitespace(); + if (ch != ')') break; + pos += 1; + } + else if (!tryParseObjectHasOwnProperty(it_id_start, it_id_len)) break; + ch = commentWhitespace(); + } if (ch != ')') break; pos += 1; ch = commentWhitespace(); @@ -511,58 +580,17 @@ void tryParseObjectDefineOrKeys (bool keys) { // `if (Object.prototype.hasOwnProperty.call(` IDENTIFIER `, ` IDENTIFIER$2 `)) return` `;`? if (ch == 'i' && *(pos + 1) == 'f') { uint16_t *ifStartPos = pos; - pos += 2; ch = commentWhitespace(); if (ch != '(') break; pos++; - ch = commentWhitespace(); - if (ch != 'O' || !str_eq5(pos + 1, 'b', 'j', 'e', 'c', 't')) { + if (!tryParseObjectHasOwnProperty(it_id_start, it_id_len)) { // Revert parsing the current optional if statement, but don't bail // out since we can try parse the next possible if statement. pos = ifStartPos; ch = 'i'; goto currentIfStatementEnd; } - pos += 6; - ch = commentWhitespace(); - if (ch != '.') { - // Revert parsing the current optional if statement, but don't bail - // out since we can try parse the next possible if statement. - pos = ifStartPos; - ch = 'i'; - goto currentIfStatementEnd; - } - pos++; - ch = commentWhitespace(); - if (ch != 'p' || !str_eq8(pos + 1, 'r', 'o', 't', 'o', 't', 'y', 'p', 'e')) break; - pos += 9; - ch = commentWhitespace(); - if (ch != '.') break; - pos++; - ch = commentWhitespace(); - if (ch != 'h' || !str_eq13(pos + 1, 'a', 's', 'O', 'w', 'n', 'P', 'r', 'o', 'p', 'e', 'r', 't', 'y')) break; - pos += 14; - ch = commentWhitespace(); - if (ch != '.') break; - pos++; - ch = commentWhitespace(); - if (ch != 'c' || !str_eq3(pos + 1, 'a', 'l', 'l')) break; - pos += 4; - ch = commentWhitespace(); - if (ch != '(') break; - pos++; - ch = commentWhitespace(); - if (!identifier(ch)) break; - ch = commentWhitespace(); - if (ch != ',') break; - pos++; - ch = commentWhitespace(); - if (memcmp(pos, it_id_start, it_id_len * sizeof(uint16_t)) != 0) break; - pos += it_id_len; - ch = commentWhitespace(); - if (ch != ')') break; - pos++; ch = commentWhitespace(); if (ch != ')') break; pos++; diff --git a/test/_unit.js b/test/_unit.js index c0dc8a2..1f92490 100755 --- a/test/_unit.js +++ b/test/_unit.js @@ -201,12 +201,12 @@ suite('Lexer', () => { }); }); Object.keys(external4).forEach(function (k) { - if (k !== 'default') exports[k] = external4[k]; + if (k !== 'default' && !Object.hasOwnProperty.call(exports, k)) exports[k] = external4[k]; }); const externalÇ˝ = require('external😃'); Object.keys(externalÇ˝).forEach(function (k) { - if (k !== 'default') exports[k] = externalÇ˝[k]; + if (k !== 'default' && !externalÇ˝.hasOwnProperty(k)) exports[k] = externalÇ˝[k]; }); const external𤭢 = require('external𤭢'); diff --git a/test/samples/typescript.min.js b/test/samples/typescript.min.js new file mode 100755 index 0000000..3a2654d --- /dev/null +++ b/test/samples/typescript.min.js @@ -0,0 +1,3 @@ +var i="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:global;var o={};var s=a;var c=o&&o.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){(this||i).constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)};var l;(function(e){(function(e){e[e["Unknown"]=0]="Unknown";e[e["EndOfFileToken"]=1]="EndOfFileToken";e[e["SingleLineCommentTrivia"]=2]="SingleLineCommentTrivia";e[e["MultiLineCommentTrivia"]=3]="MultiLineCommentTrivia";e[e["NewLineTrivia"]=4]="NewLineTrivia";e[e["WhitespaceTrivia"]=5]="WhitespaceTrivia";e[e["ShebangTrivia"]=6]="ShebangTrivia";e[e["ConflictMarkerTrivia"]=7]="ConflictMarkerTrivia";e[e["NumericLiteral"]=8]="NumericLiteral";e[e["StringLiteral"]=9]="StringLiteral";e[e["RegularExpressionLiteral"]=10]="RegularExpressionLiteral";e[e["NoSubstitutionTemplateLiteral"]=11]="NoSubstitutionTemplateLiteral";e[e["TemplateHead"]=12]="TemplateHead";e[e["TemplateMiddle"]=13]="TemplateMiddle";e[e["TemplateTail"]=14]="TemplateTail";e[e["OpenBraceToken"]=15]="OpenBraceToken";e[e["CloseBraceToken"]=16]="CloseBraceToken";e[e["OpenParenToken"]=17]="OpenParenToken";e[e["CloseParenToken"]=18]="CloseParenToken";e[e["OpenBracketToken"]=19]="OpenBracketToken";e[e["CloseBracketToken"]=20]="CloseBracketToken";e[e["DotToken"]=21]="DotToken";e[e["DotDotDotToken"]=22]="DotDotDotToken";e[e["SemicolonToken"]=23]="SemicolonToken";e[e["CommaToken"]=24]="CommaToken";e[e["LessThanToken"]=25]="LessThanToken";e[e["LessThanSlashToken"]=26]="LessThanSlashToken";e[e["GreaterThanToken"]=27]="GreaterThanToken";e[e["LessThanEqualsToken"]=28]="LessThanEqualsToken";e[e["GreaterThanEqualsToken"]=29]="GreaterThanEqualsToken";e[e["EqualsEqualsToken"]=30]="EqualsEqualsToken";e[e["ExclamationEqualsToken"]=31]="ExclamationEqualsToken";e[e["EqualsEqualsEqualsToken"]=32]="EqualsEqualsEqualsToken";e[e["ExclamationEqualsEqualsToken"]=33]="ExclamationEqualsEqualsToken";e[e["EqualsGreaterThanToken"]=34]="EqualsGreaterThanToken";e[e["PlusToken"]=35]="PlusToken";e[e["MinusToken"]=36]="MinusToken";e[e["AsteriskToken"]=37]="AsteriskToken";e[e["AsteriskAsteriskToken"]=38]="AsteriskAsteriskToken";e[e["SlashToken"]=39]="SlashToken";e[e["PercentToken"]=40]="PercentToken";e[e["PlusPlusToken"]=41]="PlusPlusToken";e[e["MinusMinusToken"]=42]="MinusMinusToken";e[e["LessThanLessThanToken"]=43]="LessThanLessThanToken";e[e["GreaterThanGreaterThanToken"]=44]="GreaterThanGreaterThanToken";e[e["GreaterThanGreaterThanGreaterThanToken"]=45]="GreaterThanGreaterThanGreaterThanToken";e[e["AmpersandToken"]=46]="AmpersandToken";e[e["BarToken"]=47]="BarToken";e[e["CaretToken"]=48]="CaretToken";e[e["ExclamationToken"]=49]="ExclamationToken";e[e["TildeToken"]=50]="TildeToken";e[e["AmpersandAmpersandToken"]=51]="AmpersandAmpersandToken";e[e["BarBarToken"]=52]="BarBarToken";e[e["QuestionToken"]=53]="QuestionToken";e[e["ColonToken"]=54]="ColonToken";e[e["AtToken"]=55]="AtToken";e[e["EqualsToken"]=56]="EqualsToken";e[e["PlusEqualsToken"]=57]="PlusEqualsToken";e[e["MinusEqualsToken"]=58]="MinusEqualsToken";e[e["AsteriskEqualsToken"]=59]="AsteriskEqualsToken";e[e["AsteriskAsteriskEqualsToken"]=60]="AsteriskAsteriskEqualsToken";e[e["SlashEqualsToken"]=61]="SlashEqualsToken";e[e["PercentEqualsToken"]=62]="PercentEqualsToken";e[e["LessThanLessThanEqualsToken"]=63]="LessThanLessThanEqualsToken";e[e["GreaterThanGreaterThanEqualsToken"]=64]="GreaterThanGreaterThanEqualsToken";e[e["GreaterThanGreaterThanGreaterThanEqualsToken"]=65]="GreaterThanGreaterThanGreaterThanEqualsToken";e[e["AmpersandEqualsToken"]=66]="AmpersandEqualsToken";e[e["BarEqualsToken"]=67]="BarEqualsToken";e[e["CaretEqualsToken"]=68]="CaretEqualsToken";e[e["Identifier"]=69]="Identifier";e[e["BreakKeyword"]=70]="BreakKeyword";e[e["CaseKeyword"]=71]="CaseKeyword";e[e["CatchKeyword"]=72]="CatchKeyword";e[e["ClassKeyword"]=73]="ClassKeyword";e[e["ConstKeyword"]=74]="ConstKeyword";e[e["ContinueKeyword"]=75]="ContinueKeyword";e[e["DebuggerKeyword"]=76]="DebuggerKeyword";e[e["DefaultKeyword"]=77]="DefaultKeyword";e[e["DeleteKeyword"]=78]="DeleteKeyword";e[e["DoKeyword"]=79]="DoKeyword";e[e["ElseKeyword"]=80]="ElseKeyword";e[e["EnumKeyword"]=81]="EnumKeyword";e[e["ExportKeyword"]=82]="ExportKeyword";e[e["ExtendsKeyword"]=83]="ExtendsKeyword";e[e["FalseKeyword"]=84]="FalseKeyword";e[e["FinallyKeyword"]=85]="FinallyKeyword";e[e["ForKeyword"]=86]="ForKeyword";e[e["FunctionKeyword"]=87]="FunctionKeyword";e[e["IfKeyword"]=88]="IfKeyword";e[e["ImportKeyword"]=89]="ImportKeyword";e[e["InKeyword"]=90]="InKeyword";e[e["InstanceOfKeyword"]=91]="InstanceOfKeyword";e[e["NewKeyword"]=92]="NewKeyword";e[e["NullKeyword"]=93]="NullKeyword";e[e["ReturnKeyword"]=94]="ReturnKeyword";e[e["SuperKeyword"]=95]="SuperKeyword";e[e["SwitchKeyword"]=96]="SwitchKeyword";e[e["ThisKeyword"]=97]="ThisKeyword";e[e["ThrowKeyword"]=98]="ThrowKeyword";e[e["TrueKeyword"]=99]="TrueKeyword";e[e["TryKeyword"]=100]="TryKeyword";e[e["TypeOfKeyword"]=101]="TypeOfKeyword";e[e["VarKeyword"]=102]="VarKeyword";e[e["VoidKeyword"]=103]="VoidKeyword";e[e["WhileKeyword"]=104]="WhileKeyword";e[e["WithKeyword"]=105]="WithKeyword";e[e["ImplementsKeyword"]=106]="ImplementsKeyword";e[e["InterfaceKeyword"]=107]="InterfaceKeyword";e[e["LetKeyword"]=108]="LetKeyword";e[e["PackageKeyword"]=109]="PackageKeyword";e[e["PrivateKeyword"]=110]="PrivateKeyword";e[e["ProtectedKeyword"]=111]="ProtectedKeyword";e[e["PublicKeyword"]=112]="PublicKeyword";e[e["StaticKeyword"]=113]="StaticKeyword";e[e["YieldKeyword"]=114]="YieldKeyword";e[e["AbstractKeyword"]=115]="AbstractKeyword";e[e["AsKeyword"]=116]="AsKeyword";e[e["AnyKeyword"]=117]="AnyKeyword";e[e["AsyncKeyword"]=118]="AsyncKeyword";e[e["AwaitKeyword"]=119]="AwaitKeyword";e[e["BooleanKeyword"]=120]="BooleanKeyword";e[e["ConstructorKeyword"]=121]="ConstructorKeyword";e[e["DeclareKeyword"]=122]="DeclareKeyword";e[e["GetKeyword"]=123]="GetKeyword";e[e["IsKeyword"]=124]="IsKeyword";e[e["ModuleKeyword"]=125]="ModuleKeyword";e[e["NamespaceKeyword"]=126]="NamespaceKeyword";e[e["NeverKeyword"]=127]="NeverKeyword";e[e["ReadonlyKeyword"]=128]="ReadonlyKeyword";e[e["RequireKeyword"]=129]="RequireKeyword";e[e["NumberKeyword"]=130]="NumberKeyword";e[e["SetKeyword"]=131]="SetKeyword";e[e["StringKeyword"]=132]="StringKeyword";e[e["SymbolKeyword"]=133]="SymbolKeyword";e[e["TypeKeyword"]=134]="TypeKeyword";e[e["UndefinedKeyword"]=135]="UndefinedKeyword";e[e["FromKeyword"]=136]="FromKeyword";e[e["GlobalKeyword"]=137]="GlobalKeyword";e[e["OfKeyword"]=138]="OfKeyword";e[e["QualifiedName"]=139]="QualifiedName";e[e["ComputedPropertyName"]=140]="ComputedPropertyName";e[e["TypeParameter"]=141]="TypeParameter";e[e["Parameter"]=142]="Parameter";e[e["Decorator"]=143]="Decorator";e[e["PropertySignature"]=144]="PropertySignature";e[e["PropertyDeclaration"]=145]="PropertyDeclaration";e[e["MethodSignature"]=146]="MethodSignature";e[e["MethodDeclaration"]=147]="MethodDeclaration";e[e["Constructor"]=148]="Constructor";e[e["GetAccessor"]=149]="GetAccessor";e[e["SetAccessor"]=150]="SetAccessor";e[e["CallSignature"]=151]="CallSignature";e[e["ConstructSignature"]=152]="ConstructSignature";e[e["IndexSignature"]=153]="IndexSignature";e[e["TypePredicate"]=154]="TypePredicate";e[e["TypeReference"]=155]="TypeReference";e[e["FunctionType"]=156]="FunctionType";e[e["ConstructorType"]=157]="ConstructorType";e[e["TypeQuery"]=158]="TypeQuery";e[e["TypeLiteral"]=159]="TypeLiteral";e[e["ArrayType"]=160]="ArrayType";e[e["TupleType"]=161]="TupleType";e[e["UnionType"]=162]="UnionType";e[e["IntersectionType"]=163]="IntersectionType";e[e["ParenthesizedType"]=164]="ParenthesizedType";e[e["ThisType"]=165]="ThisType";e[e["StringLiteralType"]=166]="StringLiteralType";e[e["ObjectBindingPattern"]=167]="ObjectBindingPattern";e[e["ArrayBindingPattern"]=168]="ArrayBindingPattern";e[e["BindingElement"]=169]="BindingElement";e[e["ArrayLiteralExpression"]=170]="ArrayLiteralExpression";e[e["ObjectLiteralExpression"]=171]="ObjectLiteralExpression";e[e["PropertyAccessExpression"]=172]="PropertyAccessExpression";e[e["ElementAccessExpression"]=173]="ElementAccessExpression";e[e["CallExpression"]=174]="CallExpression";e[e["NewExpression"]=175]="NewExpression";e[e["TaggedTemplateExpression"]=176]="TaggedTemplateExpression";e[e["TypeAssertionExpression"]=177]="TypeAssertionExpression";e[e["ParenthesizedExpression"]=178]="ParenthesizedExpression";e[e["FunctionExpression"]=179]="FunctionExpression";e[e["ArrowFunction"]=180]="ArrowFunction";e[e["DeleteExpression"]=181]="DeleteExpression";e[e["TypeOfExpression"]=182]="TypeOfExpression";e[e["VoidExpression"]=183]="VoidExpression";e[e["AwaitExpression"]=184]="AwaitExpression";e[e["PrefixUnaryExpression"]=185]="PrefixUnaryExpression";e[e["PostfixUnaryExpression"]=186]="PostfixUnaryExpression";e[e["BinaryExpression"]=187]="BinaryExpression";e[e["ConditionalExpression"]=188]="ConditionalExpression";e[e["TemplateExpression"]=189]="TemplateExpression";e[e["YieldExpression"]=190]="YieldExpression";e[e["SpreadElementExpression"]=191]="SpreadElementExpression";e[e["ClassExpression"]=192]="ClassExpression";e[e["OmittedExpression"]=193]="OmittedExpression";e[e["ExpressionWithTypeArguments"]=194]="ExpressionWithTypeArguments";e[e["AsExpression"]=195]="AsExpression";e[e["NonNullExpression"]=196]="NonNullExpression";e[e["TemplateSpan"]=197]="TemplateSpan";e[e["SemicolonClassElement"]=198]="SemicolonClassElement";e[e["Block"]=199]="Block";e[e["VariableStatement"]=200]="VariableStatement";e[e["EmptyStatement"]=201]="EmptyStatement";e[e["ExpressionStatement"]=202]="ExpressionStatement";e[e["IfStatement"]=203]="IfStatement";e[e["DoStatement"]=204]="DoStatement";e[e["WhileStatement"]=205]="WhileStatement";e[e["ForStatement"]=206]="ForStatement";e[e["ForInStatement"]=207]="ForInStatement";e[e["ForOfStatement"]=208]="ForOfStatement";e[e["ContinueStatement"]=209]="ContinueStatement";e[e["BreakStatement"]=210]="BreakStatement";e[e["ReturnStatement"]=211]="ReturnStatement";e[e["WithStatement"]=212]="WithStatement";e[e["SwitchStatement"]=213]="SwitchStatement";e[e["LabeledStatement"]=214]="LabeledStatement";e[e["ThrowStatement"]=215]="ThrowStatement";e[e["TryStatement"]=216]="TryStatement";e[e["DebuggerStatement"]=217]="DebuggerStatement";e[e["VariableDeclaration"]=218]="VariableDeclaration";e[e["VariableDeclarationList"]=219]="VariableDeclarationList";e[e["FunctionDeclaration"]=220]="FunctionDeclaration";e[e["ClassDeclaration"]=221]="ClassDeclaration";e[e["InterfaceDeclaration"]=222]="InterfaceDeclaration";e[e["TypeAliasDeclaration"]=223]="TypeAliasDeclaration";e[e["EnumDeclaration"]=224]="EnumDeclaration";e[e["ModuleDeclaration"]=225]="ModuleDeclaration";e[e["ModuleBlock"]=226]="ModuleBlock";e[e["CaseBlock"]=227]="CaseBlock";e[e["NamespaceExportDeclaration"]=228]="NamespaceExportDeclaration";e[e["ImportEqualsDeclaration"]=229]="ImportEqualsDeclaration";e[e["ImportDeclaration"]=230]="ImportDeclaration";e[e["ImportClause"]=231]="ImportClause";e[e["NamespaceImport"]=232]="NamespaceImport";e[e["NamedImports"]=233]="NamedImports";e[e["ImportSpecifier"]=234]="ImportSpecifier";e[e["ExportAssignment"]=235]="ExportAssignment";e[e["ExportDeclaration"]=236]="ExportDeclaration";e[e["NamedExports"]=237]="NamedExports";e[e["ExportSpecifier"]=238]="ExportSpecifier";e[e["MissingDeclaration"]=239]="MissingDeclaration";e[e["ExternalModuleReference"]=240]="ExternalModuleReference";e[e["JsxElement"]=241]="JsxElement";e[e["JsxSelfClosingElement"]=242]="JsxSelfClosingElement";e[e["JsxOpeningElement"]=243]="JsxOpeningElement";e[e["JsxText"]=244]="JsxText";e[e["JsxClosingElement"]=245]="JsxClosingElement";e[e["JsxAttribute"]=246]="JsxAttribute";e[e["JsxSpreadAttribute"]=247]="JsxSpreadAttribute";e[e["JsxExpression"]=248]="JsxExpression";e[e["CaseClause"]=249]="CaseClause";e[e["DefaultClause"]=250]="DefaultClause";e[e["HeritageClause"]=251]="HeritageClause";e[e["CatchClause"]=252]="CatchClause";e[e["PropertyAssignment"]=253]="PropertyAssignment";e[e["ShorthandPropertyAssignment"]=254]="ShorthandPropertyAssignment";e[e["EnumMember"]=255]="EnumMember";e[e["SourceFile"]=256]="SourceFile";e[e["JSDocTypeExpression"]=257]="JSDocTypeExpression";e[e["JSDocAllType"]=258]="JSDocAllType";e[e["JSDocUnknownType"]=259]="JSDocUnknownType";e[e["JSDocArrayType"]=260]="JSDocArrayType";e[e["JSDocUnionType"]=261]="JSDocUnionType";e[e["JSDocTupleType"]=262]="JSDocTupleType";e[e["JSDocNullableType"]=263]="JSDocNullableType";e[e["JSDocNonNullableType"]=264]="JSDocNonNullableType";e[e["JSDocRecordType"]=265]="JSDocRecordType";e[e["JSDocRecordMember"]=266]="JSDocRecordMember";e[e["JSDocTypeReference"]=267]="JSDocTypeReference";e[e["JSDocOptionalType"]=268]="JSDocOptionalType";e[e["JSDocFunctionType"]=269]="JSDocFunctionType";e[e["JSDocVariadicType"]=270]="JSDocVariadicType";e[e["JSDocConstructorType"]=271]="JSDocConstructorType";e[e["JSDocThisType"]=272]="JSDocThisType";e[e["JSDocComment"]=273]="JSDocComment";e[e["JSDocTag"]=274]="JSDocTag";e[e["JSDocParameterTag"]=275]="JSDocParameterTag";e[e["JSDocReturnTag"]=276]="JSDocReturnTag";e[e["JSDocTypeTag"]=277]="JSDocTypeTag";e[e["JSDocTemplateTag"]=278]="JSDocTemplateTag";e[e["JSDocTypedefTag"]=279]="JSDocTypedefTag";e[e["JSDocPropertyTag"]=280]="JSDocPropertyTag";e[e["JSDocTypeLiteral"]=281]="JSDocTypeLiteral";e[e["SyntaxList"]=282]="SyntaxList";e[e["Count"]=283]="Count";e[e["FirstAssignment"]=56]="FirstAssignment";e[e["LastAssignment"]=68]="LastAssignment";e[e["FirstReservedWord"]=70]="FirstReservedWord";e[e["LastReservedWord"]=105]="LastReservedWord";e[e["FirstKeyword"]=70]="FirstKeyword";e[e["LastKeyword"]=138]="LastKeyword";e[e["FirstFutureReservedWord"]=106]="FirstFutureReservedWord";e[e["LastFutureReservedWord"]=114]="LastFutureReservedWord";e[e["FirstTypeNode"]=154]="FirstTypeNode";e[e["LastTypeNode"]=166]="LastTypeNode";e[e["FirstPunctuation"]=15]="FirstPunctuation";e[e["LastPunctuation"]=68]="LastPunctuation";e[e["FirstToken"]=0]="FirstToken";e[e["LastToken"]=138]="LastToken";e[e["FirstTriviaToken"]=2]="FirstTriviaToken";e[e["LastTriviaToken"]=7]="LastTriviaToken";e[e["FirstLiteralToken"]=8]="FirstLiteralToken";e[e["LastLiteralToken"]=11]="LastLiteralToken";e[e["FirstTemplateToken"]=11]="FirstTemplateToken";e[e["LastTemplateToken"]=14]="LastTemplateToken";e[e["FirstBinaryOperator"]=25]="FirstBinaryOperator";e[e["LastBinaryOperator"]=68]="LastBinaryOperator";e[e["FirstNode"]=139]="FirstNode";e[e["FirstJSDocNode"]=257]="FirstJSDocNode";e[e["LastJSDocNode"]=281]="LastJSDocNode";e[e["FirstJSDocTagNode"]=273]="FirstJSDocTagNode";e[e["LastJSDocTagNode"]=281]="LastJSDocTagNode"})(e.SyntaxKind||(e.SyntaxKind={}));var t=e.SyntaxKind;(function(e){e[e["None"]=0]="None";e[e["Export"]=1]="Export";e[e["Ambient"]=2]="Ambient";e[e["Public"]=4]="Public";e[e["Private"]=8]="Private";e[e["Protected"]=16]="Protected";e[e["Static"]=32]="Static";e[e["Readonly"]=64]="Readonly";e[e["Abstract"]=128]="Abstract";e[e["Async"]=256]="Async";e[e["Default"]=512]="Default";e[e["Let"]=1024]="Let";e[e["Const"]=2048]="Const";e[e["Namespace"]=4096]="Namespace";e[e["ExportContext"]=8192]="ExportContext";e[e["ContainsThis"]=16384]="ContainsThis";e[e["HasImplicitReturn"]=32768]="HasImplicitReturn";e[e["HasExplicitReturn"]=65536]="HasExplicitReturn";e[e["GlobalAugmentation"]=131072]="GlobalAugmentation";e[e["HasClassExtends"]=262144]="HasClassExtends";e[e["HasDecorators"]=524288]="HasDecorators";e[e["HasParamDecorators"]=1048576]="HasParamDecorators";e[e["HasAsyncFunctions"]=2097152]="HasAsyncFunctions";e[e["DisallowInContext"]=4194304]="DisallowInContext";e[e["YieldContext"]=8388608]="YieldContext";e[e["DecoratorContext"]=16777216]="DecoratorContext";e[e["AwaitContext"]=33554432]="AwaitContext";e[e["ThisNodeHasError"]=67108864]="ThisNodeHasError";e[e["JavaScriptFile"]=134217728]="JavaScriptFile";e[e["ThisNodeOrAnySubNodesHasError"]=268435456]="ThisNodeOrAnySubNodesHasError";e[e["HasAggregatedChildData"]=536870912]="HasAggregatedChildData";e[e["HasJsxSpreadAttribute"]=1073741824]="HasJsxSpreadAttribute";e[e["Modifier"]=1023]="Modifier";e[e["AccessibilityModifier"]=28]="AccessibilityModifier";e[e["ParameterPropertyModifier"]=92]="ParameterPropertyModifier";e[e["BlockScoped"]=3072]="BlockScoped";e[e["ReachabilityCheckFlags"]=98304]="ReachabilityCheckFlags";e[e["EmitHelperFlags"]=3932160]="EmitHelperFlags";e[e["ReachabilityAndEmitFlags"]=4030464]="ReachabilityAndEmitFlags";e[e["ContextFlags"]=197132288]="ContextFlags";e[e["TypeExcludesFlags"]=41943040]="TypeExcludesFlags"})(e.NodeFlags||(e.NodeFlags={}));var r=e.NodeFlags;(function(e){e[e["None"]=0]="None";e[e["IntrinsicNamedElement"]=1]="IntrinsicNamedElement";e[e["IntrinsicIndexedElement"]=2]="IntrinsicIndexedElement";e[e["IntrinsicElement"]=3]="IntrinsicElement"})(e.JsxFlags||(e.JsxFlags={}));var n=e.JsxFlags;(function(e){e[e["Succeeded"]=1]="Succeeded";e[e["Failed"]=2]="Failed";e[e["FailedAndReported"]=3]="FailedAndReported"})(e.RelationComparisonResult||(e.RelationComparisonResult={}));var a=e.RelationComparisonResult;(function(e){e[e["Unreachable"]=1]="Unreachable";e[e["Start"]=2]="Start";e[e["BranchLabel"]=4]="BranchLabel";e[e["LoopLabel"]=8]="LoopLabel";e[e["Assignment"]=16]="Assignment";e[e["TrueCondition"]=32]="TrueCondition";e[e["FalseCondition"]=64]="FalseCondition";e[e["SwitchClause"]=128]="SwitchClause";e[e["Referenced"]=256]="Referenced";e[e["Shared"]=512]="Shared";e[e["Label"]=12]="Label";e[e["Condition"]=96]="Condition"})(e.FlowFlags||(e.FlowFlags={}));var i=e.FlowFlags;var o=function(){function OperationCanceledException(){}return OperationCanceledException}();e.OperationCanceledException=o;(function(e){e[e["Success"]=0]="Success";e[e["DiagnosticsPresent_OutputsSkipped"]=1]="DiagnosticsPresent_OutputsSkipped";e[e["DiagnosticsPresent_OutputsGenerated"]=2]="DiagnosticsPresent_OutputsGenerated"})(e.ExitStatus||(e.ExitStatus={}));var s=e.ExitStatus;(function(e){e[e["None"]=0]="None";e[e["WriteArrayAsGenericType"]=1]="WriteArrayAsGenericType";e[e["UseTypeOfFunction"]=2]="UseTypeOfFunction";e[e["NoTruncation"]=4]="NoTruncation";e[e["WriteArrowStyleSignature"]=8]="WriteArrowStyleSignature";e[e["WriteOwnNameForAnyLike"]=16]="WriteOwnNameForAnyLike";e[e["WriteTypeArgumentsOfSignature"]=32]="WriteTypeArgumentsOfSignature";e[e["InElementType"]=64]="InElementType";e[e["UseFullyQualifiedType"]=128]="UseFullyQualifiedType";e[e["InFirstTypeArgument"]=256]="InFirstTypeArgument"})(e.TypeFormatFlags||(e.TypeFormatFlags={}));var c=e.TypeFormatFlags;(function(e){e[e["None"]=0]="None";e[e["WriteTypeParametersOrArguments"]=1]="WriteTypeParametersOrArguments";e[e["UseOnlyExternalAliasing"]=2]="UseOnlyExternalAliasing"})(e.SymbolFormatFlags||(e.SymbolFormatFlags={}));var l=e.SymbolFormatFlags;(function(e){e[e["Accessible"]=0]="Accessible";e[e["NotAccessible"]=1]="NotAccessible";e[e["CannotBeNamed"]=2]="CannotBeNamed"})(e.SymbolAccessibility||(e.SymbolAccessibility={}));var u=e.SymbolAccessibility;(function(e){e[e["This"]=0]="This";e[e["Identifier"]=1]="Identifier"})(e.TypePredicateKind||(e.TypePredicateKind={}));var _=e.TypePredicateKind;(function(e){e[e["Unknown"]=0]="Unknown";e[e["TypeWithConstructSignatureAndValue"]=1]="TypeWithConstructSignatureAndValue";e[e["VoidType"]=2]="VoidType";e[e["NumberLikeType"]=3]="NumberLikeType";e[e["StringLikeType"]=4]="StringLikeType";e[e["BooleanType"]=5]="BooleanType";e[e["ArrayLikeType"]=6]="ArrayLikeType";e[e["ESSymbolType"]=7]="ESSymbolType";e[e["TypeWithCallSignature"]=8]="TypeWithCallSignature";e[e["ObjectType"]=9]="ObjectType"})(e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}));var d=e.TypeReferenceSerializationKind;(function(e){e[e["None"]=0]="None";e[e["FunctionScopedVariable"]=1]="FunctionScopedVariable";e[e["BlockScopedVariable"]=2]="BlockScopedVariable";e[e["Property"]=4]="Property";e[e["EnumMember"]=8]="EnumMember";e[e["Function"]=16]="Function";e[e["Class"]=32]="Class";e[e["Interface"]=64]="Interface";e[e["ConstEnum"]=128]="ConstEnum";e[e["RegularEnum"]=256]="RegularEnum";e[e["ValueModule"]=512]="ValueModule";e[e["NamespaceModule"]=1024]="NamespaceModule";e[e["TypeLiteral"]=2048]="TypeLiteral";e[e["ObjectLiteral"]=4096]="ObjectLiteral";e[e["Method"]=8192]="Method";e[e["Constructor"]=16384]="Constructor";e[e["GetAccessor"]=32768]="GetAccessor";e[e["SetAccessor"]=65536]="SetAccessor";e[e["Signature"]=131072]="Signature";e[e["TypeParameter"]=262144]="TypeParameter";e[e["TypeAlias"]=524288]="TypeAlias";e[e["ExportValue"]=1048576]="ExportValue";e[e["ExportType"]=2097152]="ExportType";e[e["ExportNamespace"]=4194304]="ExportNamespace";e[e["Alias"]=8388608]="Alias";e[e["Instantiated"]=16777216]="Instantiated";e[e["Merged"]=33554432]="Merged";e[e["Transient"]=67108864]="Transient";e[e["Prototype"]=134217728]="Prototype";e[e["SyntheticProperty"]=268435456]="SyntheticProperty";e[e["Optional"]=536870912]="Optional";e[e["ExportStar"]=1073741824]="ExportStar";e[e["Enum"]=384]="Enum";e[e["Variable"]=3]="Variable";e[e["Value"]=107455]="Value";e[e["Type"]=793056]="Type";e[e["Namespace"]=1536]="Namespace";e[e["Module"]=1536]="Module";e[e["Accessor"]=98304]="Accessor";e[e["FunctionScopedVariableExcludes"]=107454]="FunctionScopedVariableExcludes";e[e["BlockScopedVariableExcludes"]=107455]="BlockScopedVariableExcludes";e[e["ParameterExcludes"]=107455]="ParameterExcludes";e[e["PropertyExcludes"]=0]="PropertyExcludes";e[e["EnumMemberExcludes"]=107455]="EnumMemberExcludes";e[e["FunctionExcludes"]=106927]="FunctionExcludes";e[e["ClassExcludes"]=899519]="ClassExcludes";e[e["InterfaceExcludes"]=792960]="InterfaceExcludes";e[e["RegularEnumExcludes"]=899327]="RegularEnumExcludes";e[e["ConstEnumExcludes"]=899967]="ConstEnumExcludes";e[e["ValueModuleExcludes"]=106639]="ValueModuleExcludes";e[e["NamespaceModuleExcludes"]=0]="NamespaceModuleExcludes";e[e["MethodExcludes"]=99263]="MethodExcludes";e[e["GetAccessorExcludes"]=41919]="GetAccessorExcludes";e[e["SetAccessorExcludes"]=74687]="SetAccessorExcludes";e[e["TypeParameterExcludes"]=530912]="TypeParameterExcludes";e[e["TypeAliasExcludes"]=793056]="TypeAliasExcludes";e[e["AliasExcludes"]=8388608]="AliasExcludes";e[e["ModuleMember"]=8914931]="ModuleMember";e[e["ExportHasLocal"]=944]="ExportHasLocal";e[e["HasExports"]=1952]="HasExports";e[e["HasMembers"]=6240]="HasMembers";e[e["BlockScoped"]=418]="BlockScoped";e[e["PropertyOrAccessor"]=98308]="PropertyOrAccessor";e[e["Export"]=7340032]="Export";e[e["ClassMember"]=106500]="ClassMember";e[e["Classifiable"]=788448]="Classifiable"})(e.SymbolFlags||(e.SymbolFlags={}));var p=e.SymbolFlags;(function(e){e[e["TypeChecked"]=1]="TypeChecked";e[e["LexicalThis"]=2]="LexicalThis";e[e["CaptureThis"]=4]="CaptureThis";e[e["SuperInstance"]=256]="SuperInstance";e[e["SuperStatic"]=512]="SuperStatic";e[e["ContextChecked"]=1024]="ContextChecked";e[e["AsyncMethodWithSuper"]=2048]="AsyncMethodWithSuper";e[e["AsyncMethodWithSuperBinding"]=4096]="AsyncMethodWithSuperBinding";e[e["CaptureArguments"]=8192]="CaptureArguments";e[e["EnumValuesComputed"]=16384]="EnumValuesComputed";e[e["LexicalModuleMergesWithClass"]=32768]="LexicalModuleMergesWithClass";e[e["LoopWithCapturedBlockScopedBinding"]=65536]="LoopWithCapturedBlockScopedBinding";e[e["CapturedBlockScopedBinding"]=131072]="CapturedBlockScopedBinding";e[e["BlockScopedBindingInLoop"]=262144]="BlockScopedBindingInLoop";e[e["ClassWithBodyScopedClassBinding"]=524288]="ClassWithBodyScopedClassBinding";e[e["BodyScopedClassBinding"]=1048576]="BodyScopedClassBinding";e[e["NeedsLoopOutParameter"]=2097152]="NeedsLoopOutParameter"})(e.NodeCheckFlags||(e.NodeCheckFlags={}));var m=e.NodeCheckFlags;(function(e){e[e["Any"]=1]="Any";e[e["String"]=2]="String";e[e["Number"]=4]="Number";e[e["Boolean"]=8]="Boolean";e[e["Void"]=16]="Void";e[e["Undefined"]=32]="Undefined";e[e["Null"]=64]="Null";e[e["Enum"]=128]="Enum";e[e["StringLiteral"]=256]="StringLiteral";e[e["TypeParameter"]=512]="TypeParameter";e[e["Class"]=1024]="Class";e[e["Interface"]=2048]="Interface";e[e["Reference"]=4096]="Reference";e[e["Tuple"]=8192]="Tuple";e[e["Union"]=16384]="Union";e[e["Intersection"]=32768]="Intersection";e[e["Anonymous"]=65536]="Anonymous";e[e["Instantiated"]=131072]="Instantiated";e[e["FromSignature"]=262144]="FromSignature";e[e["ObjectLiteral"]=524288]="ObjectLiteral";e[e["FreshObjectLiteral"]=1048576]="FreshObjectLiteral";e[e["ContainsWideningType"]=2097152]="ContainsWideningType";e[e["ContainsObjectLiteral"]=4194304]="ContainsObjectLiteral";e[e["ContainsAnyFunctionType"]=8388608]="ContainsAnyFunctionType";e[e["ESSymbol"]=16777216]="ESSymbol";e[e["ThisType"]=33554432]="ThisType";e[e["ObjectLiteralPatternWithComputedProperties"]=67108864]="ObjectLiteralPatternWithComputedProperties";e[e["Never"]=134217728]="Never";e[e["Nullable"]=96]="Nullable";e[e["Falsy"]=112]="Falsy";e[e["Intrinsic"]=150995071]="Intrinsic";e[e["Primitive"]=16777726]="Primitive";e[e["StringLike"]=258]="StringLike";e[e["NumberLike"]=132]="NumberLike";e[e["ObjectType"]=80896]="ObjectType";e[e["UnionOrIntersection"]=49152]="UnionOrIntersection";e[e["StructuredType"]=130048]="StructuredType";e[e["Narrowable"]=16908175]="Narrowable";e[e["RequiresWidening"]=6291456]="RequiresWidening";e[e["PropagatingFlags"]=14680064]="PropagatingFlags"})(e.TypeFlags||(e.TypeFlags={}));var g=e.TypeFlags;(function(e){e[e["Call"]=0]="Call";e[e["Construct"]=1]="Construct"})(e.SignatureKind||(e.SignatureKind={}));var f=e.SignatureKind;(function(e){e[e["String"]=0]="String";e[e["Number"]=1]="Number"})(e.IndexKind||(e.IndexKind={}));var y=e.IndexKind;(function(e){e[e["None"]=0]="None";e[e["ExportsProperty"]=1]="ExportsProperty";e[e["ModuleExports"]=2]="ModuleExports";e[e["PrototypeProperty"]=3]="PrototypeProperty";e[e["ThisProperty"]=4]="ThisProperty"})(e.SpecialPropertyAssignmentKind||(e.SpecialPropertyAssignmentKind={}));var h=e.SpecialPropertyAssignmentKind;(function(e){e[e["Warning"]=0]="Warning";e[e["Error"]=1]="Error";e[e["Message"]=2]="Message"})(e.DiagnosticCategory||(e.DiagnosticCategory={}));var v=e.DiagnosticCategory;(function(e){e[e["Classic"]=1]="Classic";e[e["NodeJs"]=2]="NodeJs"})(e.ModuleResolutionKind||(e.ModuleResolutionKind={}));var b=e.ModuleResolutionKind;(function(e){e[e["None"]=0]="None";e[e["CommonJS"]=1]="CommonJS";e[e["AMD"]=2]="AMD";e[e["UMD"]=3]="UMD";e[e["System"]=4]="System";e[e["ES6"]=5]="ES6";e[e["ES2015"]=5]="ES2015"})(e.ModuleKind||(e.ModuleKind={}));var T=e.ModuleKind;(function(e){e[e["None"]=0]="None";e[e["Preserve"]=1]="Preserve";e[e["React"]=2]="React"})(e.JsxEmit||(e.JsxEmit={}));var k=e.JsxEmit;(function(e){e[e["CarriageReturnLineFeed"]=0]="CarriageReturnLineFeed";e[e["LineFeed"]=1]="LineFeed"})(e.NewLineKind||(e.NewLineKind={}));var S=e.NewLineKind;(function(e){e[e["Unknown"]=0]="Unknown";e[e["JS"]=1]="JS";e[e["JSX"]=2]="JSX";e[e["TS"]=3]="TS";e[e["TSX"]=4]="TSX"})(e.ScriptKind||(e.ScriptKind={}));var x=e.ScriptKind;(function(e){e[e["ES3"]=0]="ES3";e[e["ES5"]=1]="ES5";e[e["ES6"]=2]="ES6";e[e["ES2015"]=2]="ES2015";e[e["Latest"]=2]="Latest"})(e.ScriptTarget||(e.ScriptTarget={}));var C=e.ScriptTarget;(function(e){e[e["Standard"]=0]="Standard";e[e["JSX"]=1]="JSX"})(e.LanguageVariant||(e.LanguageVariant={}));var D=e.LanguageVariant;(function(e){e[e["Simple"]=0]="Simple";e[e["Pretty"]=1]="Pretty"})(e.DiagnosticStyle||(e.DiagnosticStyle={}));var E=e.DiagnosticStyle;(function(e){e[e["None"]=0]="None";e[e["Recursive"]=1]="Recursive"})(e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}));var N=e.WatchDirectoryFlags;(function(e){e[e["nullCharacter"]=0]="nullCharacter";e[e["maxAsciiCharacter"]=127]="maxAsciiCharacter";e[e["lineFeed"]=10]="lineFeed";e[e["carriageReturn"]=13]="carriageReturn";e[e["lineSeparator"]=8232]="lineSeparator";e[e["paragraphSeparator"]=8233]="paragraphSeparator";e[e["nextLine"]=133]="nextLine";e[e["space"]=32]="space";e[e["nonBreakingSpace"]=160]="nonBreakingSpace";e[e["enQuad"]=8192]="enQuad";e[e["emQuad"]=8193]="emQuad";e[e["enSpace"]=8194]="enSpace";e[e["emSpace"]=8195]="emSpace";e[e["threePerEmSpace"]=8196]="threePerEmSpace";e[e["fourPerEmSpace"]=8197]="fourPerEmSpace";e[e["sixPerEmSpace"]=8198]="sixPerEmSpace";e[e["figureSpace"]=8199]="figureSpace";e[e["punctuationSpace"]=8200]="punctuationSpace";e[e["thinSpace"]=8201]="thinSpace";e[e["hairSpace"]=8202]="hairSpace";e[e["zeroWidthSpace"]=8203]="zeroWidthSpace";e[e["narrowNoBreakSpace"]=8239]="narrowNoBreakSpace";e[e["ideographicSpace"]=12288]="ideographicSpace";e[e["mathematicalSpace"]=8287]="mathematicalSpace";e[e["ogham"]=5760]="ogham";e[e["_"]=95]="_";e[e["$"]=36]="$";e[e["_0"]=48]="_0";e[e["_1"]=49]="_1";e[e["_2"]=50]="_2";e[e["_3"]=51]="_3";e[e["_4"]=52]="_4";e[e["_5"]=53]="_5";e[e["_6"]=54]="_6";e[e["_7"]=55]="_7";e[e["_8"]=56]="_8";e[e["_9"]=57]="_9";e[e["a"]=97]="a";e[e["b"]=98]="b";e[e["c"]=99]="c";e[e["d"]=100]="d";e[e["e"]=101]="e";e[e["f"]=102]="f";e[e["g"]=103]="g";e[e["h"]=104]="h";e[e["i"]=105]="i";e[e["j"]=106]="j";e[e["k"]=107]="k";e[e["l"]=108]="l";e[e["m"]=109]="m";e[e["n"]=110]="n";e[e["o"]=111]="o";e[e["p"]=112]="p";e[e["q"]=113]="q";e[e["r"]=114]="r";e[e["s"]=115]="s";e[e["t"]=116]="t";e[e["u"]=117]="u";e[e["v"]=118]="v";e[e["w"]=119]="w";e[e["x"]=120]="x";e[e["y"]=121]="y";e[e["z"]=122]="z";e[e["A"]=65]="A";e[e["B"]=66]="B";e[e["C"]=67]="C";e[e["D"]=68]="D";e[e["E"]=69]="E";e[e["F"]=70]="F";e[e["G"]=71]="G";e[e["H"]=72]="H";e[e["I"]=73]="I";e[e["J"]=74]="J";e[e["K"]=75]="K";e[e["L"]=76]="L";e[e["M"]=77]="M";e[e["N"]=78]="N";e[e["O"]=79]="O";e[e["P"]=80]="P";e[e["Q"]=81]="Q";e[e["R"]=82]="R";e[e["S"]=83]="S";e[e["T"]=84]="T";e[e["U"]=85]="U";e[e["V"]=86]="V";e[e["W"]=87]="W";e[e["X"]=88]="X";e[e["Y"]=89]="Y";e[e["Z"]=90]="Z";e[e["ampersand"]=38]="ampersand";e[e["asterisk"]=42]="asterisk";e[e["at"]=64]="at";e[e["backslash"]=92]="backslash";e[e["backtick"]=96]="backtick";e[e["bar"]=124]="bar";e[e["caret"]=94]="caret";e[e["closeBrace"]=125]="closeBrace";e[e["closeBracket"]=93]="closeBracket";e[e["closeParen"]=41]="closeParen";e[e["colon"]=58]="colon";e[e["comma"]=44]="comma";e[e["dot"]=46]="dot";e[e["doubleQuote"]=34]="doubleQuote";e[e["equals"]=61]="equals";e[e["exclamation"]=33]="exclamation";e[e["greaterThan"]=62]="greaterThan";e[e["hash"]=35]="hash";e[e["lessThan"]=60]="lessThan";e[e["minus"]=45]="minus";e[e["openBrace"]=123]="openBrace";e[e["openBracket"]=91]="openBracket";e[e["openParen"]=40]="openParen";e[e["percent"]=37]="percent";e[e["plus"]=43]="plus";e[e["question"]=63]="question";e[e["semicolon"]=59]="semicolon";e[e["singleQuote"]=39]="singleQuote";e[e["slash"]=47]="slash";e[e["tilde"]=126]="tilde";e[e["backspace"]=8]="backspace";e[e["formFeed"]=12]="formFeed";e[e["byteOrderMark"]=65279]="byteOrderMark";e[e["tab"]=9]="tab";e[e["verticalTab"]=11]="verticalTab"})(e.CharacterCodes||(e.CharacterCodes={}));var O=e.CharacterCodes})(l||(l={}));var l;(function(e){(function(e){e[e["False"]=0]="False";e[e["Maybe"]=1]="Maybe";e[e["True"]=-1]="True"})(e.Ternary||(e.Ternary={}));var t=e.Ternary;function createFileMap(e){var t={};return{get:get,set:set,contains:contains,remove:remove,forEachValue:forEachValueInMap,clear:clear};function forEachValueInMap(e){for(var r in t)e(r,t[r])}function get(e){return t[toKey(e)]}function set(e,r){t[toKey(e)]=r}function contains(e){return hasProperty(t,toKey(e))}function remove(e){var r=toKey(e);delete t[r]}function clear(){t={}}function toKey(t){return e?e(t):t}}e.createFileMap=createFileMap;function toPath(e,t,r){var n=isRootedDiskPath(e)?normalizePath(e):getNormalizedAbsolutePath(e,t);return r(n)}e.toPath=toPath;(function(e){e[e["LessThan"]=-1]="LessThan";e[e["EqualTo"]=0]="EqualTo";e[e["GreaterThan"]=1]="GreaterThan"})(e.Comparison||(e.Comparison={}));var r=e.Comparison;function forEach(e,t){if(e)for(var r=0,n=e.length;r>1);var i=e[a];if(i===t)return a;i>t?n=a-1:r=a+1}return~r}e.binarySearch=binarySearch;function reduceLeft(e,t,r){if(e){var n=e.length;if(n>0){var a=0;var i=void 0;if(arguments.length<=2){i=e[a];a++}else i=r;while(a=0){var a=void 0;if(arguments.length<=2){a=e[n];n--}else a=r;while(n>=0){a=t(a,e[n]);n--}return a}}return r}e.reduceRight=reduceRight;var n=Object.prototype.hasOwnProperty;function hasProperty(e,t){return n.call(e,t)}e.hasProperty=hasProperty;function getKeys(e){var t=[];for(var r in e)t.push(r);return t}e.getKeys=getKeys;function getProperty(e,t){return n.call(e,t)?e[t]:void 0}e.getProperty=getProperty;function isEmpty(e){for(var t in e)if(hasProperty(e,t))return false;return true}e.isEmpty=isEmpty;function clone(e){var t={};for(var r in e)t[r]=e[r];return t}e.clone=clone;function extend(e,t){var r={};for(var n in e)r[n]=e[n];for(var n in t)hasProperty(r,n)||(r[n]=t[n]);return r}e.extend=extend;function forEachValue(e,t){var r;for(var n in e)if(r=t(e[n]))break;return r}e.forEachValue=forEachValue;function forEachKey(e,t){var r;for(var n in e)if(r=t(n))break;return r}e.forEachKey=forEachKey;function lookUp(e,t){return hasProperty(e,t)?e[t]:void 0}e.lookUp=lookUp;function copyMap(e,t){for(var r in e)t[r]=e[r]}e.copyMap=copyMap;function arrayToMap(e,t){var r={};forEach(e,(function(e){r[t(e)]=e}));return r}e.arrayToMap=arrayToMap;function reduceProperties(e,t,r){var n=r;if(e)for(var a in e)hasProperty(e,a)&&(n=t(n,e[a],String(a)));return n}e.reduceProperties=reduceProperties;function isArray(e){return Array.isArray?Array.isArray(e):e instanceof Array}e.isArray=isArray;function memoize(e){var t;return function(){if(e){t=e();e=void 0}return t}}e.memoize=memoize;function formatStringFromArgs(e,t,r){r=r||0;return e.replace(/{(\d+)}/g,(function(e,n){return t[+n+r]}))}e.localizedDiagnosticMessages=void 0;function getLocaleSpecificMessage(t){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[t.key]?e.localizedDiagnosticMessages[t.key]:t.message}e.getLocaleSpecificMessage=getLocaleSpecificMessage;function createFileDiagnostic(e,t,r,n){var a=t+r;_.assert(t>=0,"start must be non-negative, is "+t);_.assert(r>=0,"length must be non-negative, is "+r);if(e){_.assert(t<=e.text.length,"start must be within the bounds of the file. "+t+" > "+e.text.length);_.assert(a<=e.text.length,"end must be the bounds of the file. "+a+" > "+e.text.length)}var i=getLocaleSpecificMessage(n);arguments.length>4&&(i=formatStringFromArgs(i,arguments,4));return{file:e,start:t,length:r,messageText:i,category:n.category,code:n.code}}e.createFileDiagnostic=createFileDiagnostic;function formatMessage(e,t){var r=getLocaleSpecificMessage(t);arguments.length>2&&(r=formatStringFromArgs(r,arguments,2));return r}e.formatMessage=formatMessage;function createCompilerDiagnostic(e){var t=getLocaleSpecificMessage(e);arguments.length>1&&(t=formatStringFromArgs(t,arguments,1));return{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code}}e.createCompilerDiagnostic=createCompilerDiagnostic;function chainDiagnosticMessages(e,t){var r=getLocaleSpecificMessage(t);arguments.length>2&&(r=formatStringFromArgs(r,arguments,2));return{messageText:r,category:t.category,code:t.code,next:e}}e.chainDiagnosticMessages=chainDiagnosticMessages;function concatenateDiagnosticMessageChains(e,t){var r=e;while(r.next)r=r.next;r.next=t;return e}e.concatenateDiagnosticMessageChains=concatenateDiagnosticMessageChains;function compareValues(e,t){return e===t?0:void 0===e?-1:void 0===t?1:e0?1:0}e=e.toUpperCase();t=t.toUpperCase();if(e===t)return 0}return e0&&".."!==lastOrUndefined(a)?a.pop():s&&a.push(s))}return a}function normalizePath(t){t=normalizeSlashes(t);var r=getRootLength(t);var n=getNormalizedParts(t,r);return t.substr(0,r)+n.join(e.directorySeparator)}e.normalizePath=normalizePath;function getDirectoryPath(t){return t.substr(0,Math.max(getRootLength(t),t.lastIndexOf(e.directorySeparator)))}e.getDirectoryPath=getDirectoryPath;function isUrl(e){return e&&!isRootedDiskPath(e)&&-1!==e.indexOf("://")}e.isUrl=isUrl;function isRootedDiskPath(e){return 0!==getRootLength(e)}e.isRootedDiskPath=isRootedDiskPath;function normalizedPathComponents(e,t){var r=getNormalizedParts(e,t);return[e.substr(0,t)].concat(r)}function getNormalizedPathComponents(e,t){e=normalizeSlashes(e);var r=getRootLength(e);if(0===r){e=combinePaths(normalizeSlashes(t),e);r=getRootLength(e)}return normalizedPathComponents(e,r)}e.getNormalizedPathComponents=getNormalizedPathComponents;function getNormalizedAbsolutePath(e,t){return getNormalizedPathFromPathComponents(getNormalizedPathComponents(e,t))}e.getNormalizedAbsolutePath=getNormalizedAbsolutePath;function getNormalizedPathFromPathComponents(t){if(t&&t.length)return t[0]+t.slice(1).join(e.directorySeparator)}e.getNormalizedPathFromPathComponents=getNormalizedPathFromPathComponents;function getNormalizedPathComponentsOfUrl(t){var r=t.length;var n=t.indexOf("://")+"://".length;while(n1&&""===lastOrUndefined(s)&&s.length--;var c;for(c=0;cn&&e.substr(r-n,n)===t}e.fileExtensionIs=fileExtensionIs;function fileExtensionIsAny(e,t){for(var r=0,n=t;r0){u+=")?";m--}o&&(i+="|");i+="("+u+")";o=true}}}if(i)return"^("+i+("exclude"===n?")($|/)":")$")}}e.getRegularExpressionForWildcard=getRegularExpressionForWildcard;function replaceWildcardCharacter(e){return"*"===e?"[^/]*":"?"===e?"[^/]":"\\"+e}function getFileMatcherPatterns(e,t,r,n,a,i){e=normalizePath(e);i=normalizePath(i);var o=combinePaths(i,e);return{includeFilePattern:getRegularExpressionForWildcard(n,o,"files"),includeDirectoryPattern:getRegularExpressionForWildcard(n,o,"directories"),excludePattern:getRegularExpressionForWildcard(r,o,"exclude"),basePaths:getBasePaths(e,n,a)}}e.getFileMatcherPatterns=getFileMatcherPatterns;function matchFiles(e,t,r,n,a,i,o){e=normalizePath(e);i=normalizePath(i);var s=getFileMatcherPatterns(e,t,r,n,a,i);var c=a?"":"i";var l=s.includeFilePattern&&new RegExp(s.includeFilePattern,c);var u=s.includeDirectoryPattern&&new RegExp(s.includeDirectoryPattern,c);var _=s.excludePattern&&new RegExp(s.excludePattern,c);var d=[];for(var p=0,m=s.basePaths;p=0;r--)if(fileExtensionIs(e,t[r]))return adjustExtensionPriority(r);return 0}e.getExtensionPriority=getExtensionPriority;function adjustExtensionPriority(e){return e<2?0:e<5?2:5}e.adjustExtensionPriority=adjustExtensionPriority;function getNextLowestExtensionPriority(e){return e<2?2:5}e.getNextLowestExtensionPriority=getNextLowestExtensionPriority;var l=[".d.ts",".ts",".js",".tsx",".jsx"];function removeFileExtension(e){for(var t=0,r=l;t=e}e.shouldAssert=shouldAssert;function assert(e,t,r){if(!e){var n="";r&&(n="\r\nVerbose Debug Information: "+r());debugger;throw new Error("Debug Failure. False expression: "+(t||"")+n)}}e.assert=assert;function fail(t){e.assert(false,t)}e.fail=fail})(_=e.Debug||(e.Debug={}));function copyListRemovingItem(e,t){var r=[];for(var n=0,a=t;n=2&&(255===a.charCodeAt(0)&&254===a.charCodeAt(1)||254===a.charCodeAt(0)&&255===a.charCodeAt(1))?"unicode":"utf-8"}return r.ReadText()}catch(e){throw e}finally{r.Close()}}}function writeFile(e,t,a){r.Open();n.Open();try{r.Charset="utf-8";r.WriteText(t);r.Position=a?0:3;r.CopyTo(n);n.SaveToFile(e,2)}finally{n.Close();r.Close()}}function getNames(e){var t=[];for(var r=new Enumerator(e);!r.atEnd();r.moveNext())t.push(r.item().Name);return t.sort()}function getDirectories(t){var r=e.GetFolder(t);return getNames(r.subfolders)}function getAccessibleFileSystemEntries(t){try{var r=e.GetFolder(t||".");var n=getNames(r.files);var a=getNames(r.subfolders);return{files:n,directories:a}}catch(e){return{files:[],directories:[]}}}function readDirectory(e,r,n,i){return a.matchFiles(e,r,n,i,false,t.CurrentDirectory,getAccessibleFileSystemEntries)}return{args:i,newLine:"\r\n",useCaseSensitiveFileNames:false,write:function(e){WScript.StdOut.Write(e)},readFile:readFile,writeFile:writeFile,resolvePath:function(t){return e.GetAbsolutePathName(t)},fileExists:function(t){return e.FileExists(t)},directoryExists:function(t){return e.FolderExists(t)},createDirectory:function(t){this.directoryExists(t)||e.CreateFolder(t)},getExecutingFilePath:function(){return WScript.ScriptFullName},getCurrentDirectory:function(){return t.CurrentDirectory},getDirectories:getDirectories,readDirectory:readDirectory,exit:function(e){try{WScript.Quit(e)}catch(e){}}}}function getNodeSystem(){var o=e;var c=t;var l=r;var u=n;var _=s.env["TSC_NONPOLLING_WATCHER"];function createWatchedFileSet(){var e={};var t={};return{addFile:addFile,removeFile:removeFile};function reduceDirWatcherRefCountForFile(t){var r=a.getDirectoryPath(t);if(a.hasProperty(e,r)){var n=e[r];n.referenceCount-=1;if(n.referenceCount<=0){n.close();delete e[r]}}}function addDirWatcher(t){if(a.hasProperty(e,t)){var r=e[t];r.referenceCount+=1}else{var n=o.watch(t,{persistent:true},(function(e,r){return fileEventHandler(e,r,t)}));n.referenceCount=1;e[t]=n}}function addFileWatcherCallback(e,r){a.hasProperty(t,e)?t[e].push(r):t[e]=[r]}function addFile(e,t){addFileWatcherCallback(e,t);addDirWatcher(a.getDirectoryPath(e));return{fileName:e,callback:t}}function removeFile(e){removeFileWatcherCallback(e.fileName,e.callback);reduceDirWatcherRefCountForFile(e.fileName)}function removeFileWatcherCallback(e,r){if(a.hasProperty(t,e)){var n=a.copyListRemovingItem(r,t[e]);0===n.length?delete t[e]:t[e]=n}}function fileEventHandler(e,r,n){var i="string"!==typeof r?void 0:a.getNormalizedAbsolutePath(r,n);if(("change"===e||"rename"===e)&&a.hasProperty(t,i))for(var o=0,s=t[i];o=4}var p=l.platform();var m="win32"!==p&&"win64"!==p&&"darwin"!==p;function readFile(e,t){if(fileExists(e)){var r=o.readFileSync(e);var n=r.length;if(n>=2&&254===r[0]&&255===r[1]){n&=~1;for(var a=0;a=2&&255===r[0]&&254===r[1]?r.toString("utf16le",2):n>=3&&239===r[0]&&187===r[1]&&191===r[2]?r.toString("utf8",3):r.toString("utf8")}}function writeFile(e,t,r){r&&(t="\ufeff"+t);var n;try{n=o.openSync(e,"w");o.writeSync(n,t,void 0,"utf8")}finally{void 0!==n&&o.closeSync(n)}}function getAccessibleFileSystemEntries(e){try{var t=o.readdirSync(e||".").sort();var r=[];var n=[];for(var i=0,s=t;i type."},In_ambient_enum_declarations_member_initializer_must_be_constant_expression:{code:1066,category:e.DiagnosticCategory.Error,key:"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066",message:"In ambient enum declarations member initializer must be constant expression."},Unexpected_token_A_constructor_method_accessor_or_property_was_expected:{code:1068,category:e.DiagnosticCategory.Error,key:"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068",message:"Unexpected token. A constructor, method, accessor, or property was expected."},_0_modifier_cannot_appear_on_a_type_member:{code:1070,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_type_member_1070",message:"'{0}' modifier cannot appear on a type member."},_0_modifier_cannot_appear_on_an_index_signature:{code:1071,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_an_index_signature_1071",message:"'{0}' modifier cannot appear on an index signature."},A_0_modifier_cannot_be_used_with_an_import_declaration:{code:1079,category:e.DiagnosticCategory.Error,key:"A_0_modifier_cannot_be_used_with_an_import_declaration_1079",message:"A '{0}' modifier cannot be used with an import declaration."},Invalid_reference_directive_syntax:{code:1084,category:e.DiagnosticCategory.Error,key:"Invalid_reference_directive_syntax_1084",message:"Invalid 'reference' directive syntax."},Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher:{code:1085,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_1085",message:"Octal literals are not available when targeting ECMAScript 5 and higher."},An_accessor_cannot_be_declared_in_an_ambient_context:{code:1086,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_be_declared_in_an_ambient_context_1086",message:"An accessor cannot be declared in an ambient context."},_0_modifier_cannot_appear_on_a_constructor_declaration:{code:1089,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_constructor_declaration_1089",message:"'{0}' modifier cannot appear on a constructor declaration."},_0_modifier_cannot_appear_on_a_parameter:{code:1090,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_parameter_1090",message:"'{0}' modifier cannot appear on a parameter."},Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:{code:1091,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091",message:"Only a single variable declaration is allowed in a 'for...in' statement."},Type_parameters_cannot_appear_on_a_constructor_declaration:{code:1092,category:e.DiagnosticCategory.Error,key:"Type_parameters_cannot_appear_on_a_constructor_declaration_1092",message:"Type parameters cannot appear on a constructor declaration."},Type_annotation_cannot_appear_on_a_constructor_declaration:{code:1093,category:e.DiagnosticCategory.Error,key:"Type_annotation_cannot_appear_on_a_constructor_declaration_1093",message:"Type annotation cannot appear on a constructor declaration."},An_accessor_cannot_have_type_parameters:{code:1094,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_have_type_parameters_1094",message:"An accessor cannot have type parameters."},A_set_accessor_cannot_have_a_return_type_annotation:{code:1095,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_a_return_type_annotation_1095",message:"A 'set' accessor cannot have a return type annotation."},An_index_signature_must_have_exactly_one_parameter:{code:1096,category:e.DiagnosticCategory.Error,key:"An_index_signature_must_have_exactly_one_parameter_1096",message:"An index signature must have exactly one parameter."},_0_list_cannot_be_empty:{code:1097,category:e.DiagnosticCategory.Error,key:"_0_list_cannot_be_empty_1097",message:"'{0}' list cannot be empty."},Type_parameter_list_cannot_be_empty:{code:1098,category:e.DiagnosticCategory.Error,key:"Type_parameter_list_cannot_be_empty_1098",message:"Type parameter list cannot be empty."},Type_argument_list_cannot_be_empty:{code:1099,category:e.DiagnosticCategory.Error,key:"Type_argument_list_cannot_be_empty_1099",message:"Type argument list cannot be empty."},Invalid_use_of_0_in_strict_mode:{code:1100,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_in_strict_mode_1100",message:"Invalid use of '{0}' in strict mode."},with_statements_are_not_allowed_in_strict_mode:{code:1101,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_strict_mode_1101",message:"'with' statements are not allowed in strict mode."},delete_cannot_be_called_on_an_identifier_in_strict_mode:{code:1102,category:e.DiagnosticCategory.Error,key:"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102",message:"'delete' cannot be called on an identifier in strict mode."},A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:{code:1104,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104",message:"A 'continue' statement can only be used within an enclosing iteration statement."},A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:{code:1105,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105",message:"A 'break' statement can only be used within an enclosing iteration or switch statement."},Jump_target_cannot_cross_function_boundary:{code:1107,category:e.DiagnosticCategory.Error,key:"Jump_target_cannot_cross_function_boundary_1107",message:"Jump target cannot cross function boundary."},A_return_statement_can_only_be_used_within_a_function_body:{code:1108,category:e.DiagnosticCategory.Error,key:"A_return_statement_can_only_be_used_within_a_function_body_1108",message:"A 'return' statement can only be used within a function body."},Expression_expected:{code:1109,category:e.DiagnosticCategory.Error,key:"Expression_expected_1109",message:"Expression expected."},Type_expected:{code:1110,category:e.DiagnosticCategory.Error,key:"Type_expected_1110",message:"Type expected."},A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:{code:1113,category:e.DiagnosticCategory.Error,key:"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113",message:"A 'default' clause cannot appear more than once in a 'switch' statement."},Duplicate_label_0:{code:1114,category:e.DiagnosticCategory.Error,key:"Duplicate_label_0_1114",message:"Duplicate label '{0}'"},A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:{code:1115,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115",message:"A 'continue' statement can only jump to a label of an enclosing iteration statement."},A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:{code:1116,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116",message:"A 'break' statement can only jump to a label of an enclosing statement."},An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:{code:1117,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117",message:"An object literal cannot have multiple properties with the same name in strict mode."},An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:{code:1118,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118",message:"An object literal cannot have multiple get/set accessors with the same name."},An_object_literal_cannot_have_property_and_accessor_with_the_same_name:{code:1119,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119",message:"An object literal cannot have property and accessor with the same name."},An_export_assignment_cannot_have_modifiers:{code:1120,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_have_modifiers_1120",message:"An export assignment cannot have modifiers."},Octal_literals_are_not_allowed_in_strict_mode:{code:1121,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_allowed_in_strict_mode_1121",message:"Octal literals are not allowed in strict mode."},A_tuple_type_element_list_cannot_be_empty:{code:1122,category:e.DiagnosticCategory.Error,key:"A_tuple_type_element_list_cannot_be_empty_1122",message:"A tuple type element list cannot be empty."},Variable_declaration_list_cannot_be_empty:{code:1123,category:e.DiagnosticCategory.Error,key:"Variable_declaration_list_cannot_be_empty_1123",message:"Variable declaration list cannot be empty."},Digit_expected:{code:1124,category:e.DiagnosticCategory.Error,key:"Digit_expected_1124",message:"Digit expected."},Hexadecimal_digit_expected:{code:1125,category:e.DiagnosticCategory.Error,key:"Hexadecimal_digit_expected_1125",message:"Hexadecimal digit expected."},Unexpected_end_of_text:{code:1126,category:e.DiagnosticCategory.Error,key:"Unexpected_end_of_text_1126",message:"Unexpected end of text."},Invalid_character:{code:1127,category:e.DiagnosticCategory.Error,key:"Invalid_character_1127",message:"Invalid character."},Declaration_or_statement_expected:{code:1128,category:e.DiagnosticCategory.Error,key:"Declaration_or_statement_expected_1128",message:"Declaration or statement expected."},Statement_expected:{code:1129,category:e.DiagnosticCategory.Error,key:"Statement_expected_1129",message:"Statement expected."},case_or_default_expected:{code:1130,category:e.DiagnosticCategory.Error,key:"case_or_default_expected_1130",message:"'case' or 'default' expected."},Property_or_signature_expected:{code:1131,category:e.DiagnosticCategory.Error,key:"Property_or_signature_expected_1131",message:"Property or signature expected."},Enum_member_expected:{code:1132,category:e.DiagnosticCategory.Error,key:"Enum_member_expected_1132",message:"Enum member expected."},Variable_declaration_expected:{code:1134,category:e.DiagnosticCategory.Error,key:"Variable_declaration_expected_1134",message:"Variable declaration expected."},Argument_expression_expected:{code:1135,category:e.DiagnosticCategory.Error,key:"Argument_expression_expected_1135",message:"Argument expression expected."},Property_assignment_expected:{code:1136,category:e.DiagnosticCategory.Error,key:"Property_assignment_expected_1136",message:"Property assignment expected."},Expression_or_comma_expected:{code:1137,category:e.DiagnosticCategory.Error,key:"Expression_or_comma_expected_1137",message:"Expression or comma expected."},Parameter_declaration_expected:{code:1138,category:e.DiagnosticCategory.Error,key:"Parameter_declaration_expected_1138",message:"Parameter declaration expected."},Type_parameter_declaration_expected:{code:1139,category:e.DiagnosticCategory.Error,key:"Type_parameter_declaration_expected_1139",message:"Type parameter declaration expected."},Type_argument_expected:{code:1140,category:e.DiagnosticCategory.Error,key:"Type_argument_expected_1140",message:"Type argument expected."},String_literal_expected:{code:1141,category:e.DiagnosticCategory.Error,key:"String_literal_expected_1141",message:"String literal expected."},Line_break_not_permitted_here:{code:1142,category:e.DiagnosticCategory.Error,key:"Line_break_not_permitted_here_1142",message:"Line break not permitted here."},or_expected:{code:1144,category:e.DiagnosticCategory.Error,key:"or_expected_1144",message:"'{' or ';' expected."},Declaration_expected:{code:1146,category:e.DiagnosticCategory.Error,key:"Declaration_expected_1146",message:"Declaration expected."},Import_declarations_in_a_namespace_cannot_reference_a_module:{code:1147,category:e.DiagnosticCategory.Error,key:"Import_declarations_in_a_namespace_cannot_reference_a_module_1147",message:"Import declarations in a namespace cannot reference a module."},Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:{code:1148,category:e.DiagnosticCategory.Error,key:"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148",message:"Cannot use imports, exports, or module augmentations when '--module' is 'none'."},File_name_0_differs_from_already_included_file_name_1_only_in_casing:{code:1149,category:e.DiagnosticCategory.Error,key:"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149",message:"File name '{0}' differs from already included file name '{1}' only in casing"},new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:{code:1150,category:e.DiagnosticCategory.Error,key:"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150",message:"'new T[]' cannot be used to create an array. Use 'new Array()' instead."},const_declarations_must_be_initialized:{code:1155,category:e.DiagnosticCategory.Error,key:"const_declarations_must_be_initialized_1155",message:"'const' declarations must be initialized"},const_declarations_can_only_be_declared_inside_a_block:{code:1156,category:e.DiagnosticCategory.Error,key:"const_declarations_can_only_be_declared_inside_a_block_1156",message:"'const' declarations can only be declared inside a block."},let_declarations_can_only_be_declared_inside_a_block:{code:1157,category:e.DiagnosticCategory.Error,key:"let_declarations_can_only_be_declared_inside_a_block_1157",message:"'let' declarations can only be declared inside a block."},Unterminated_template_literal:{code:1160,category:e.DiagnosticCategory.Error,key:"Unterminated_template_literal_1160",message:"Unterminated template literal."},Unterminated_regular_expression_literal:{code:1161,category:e.DiagnosticCategory.Error,key:"Unterminated_regular_expression_literal_1161",message:"Unterminated regular expression literal."},An_object_member_cannot_be_declared_optional:{code:1162,category:e.DiagnosticCategory.Error,key:"An_object_member_cannot_be_declared_optional_1162",message:"An object member cannot be declared optional."},A_yield_expression_is_only_allowed_in_a_generator_body:{code:1163,category:e.DiagnosticCategory.Error,key:"A_yield_expression_is_only_allowed_in_a_generator_body_1163",message:"A 'yield' expression is only allowed in a generator body."},Computed_property_names_are_not_allowed_in_enums:{code:1164,category:e.DiagnosticCategory.Error,key:"Computed_property_names_are_not_allowed_in_enums_1164",message:"Computed property names are not allowed in enums."},A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol:{code:1165,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol_1165",message:"A computed property name in an ambient context must directly refer to a built-in symbol."},A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol:{code:1166,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol_1166",message:"A computed property name in a class property declaration must directly refer to a built-in symbol."},A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol:{code:1168,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol_1168",message:"A computed property name in a method overload must directly refer to a built-in symbol."},A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol:{code:1169,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol_1169",message:"A computed property name in an interface must directly refer to a built-in symbol."},A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol:{code:1170,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol_1170",message:"A computed property name in a type literal must directly refer to a built-in symbol."},A_comma_expression_is_not_allowed_in_a_computed_property_name:{code:1171,category:e.DiagnosticCategory.Error,key:"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171",message:"A comma expression is not allowed in a computed property name."},extends_clause_already_seen:{code:1172,category:e.DiagnosticCategory.Error,key:"extends_clause_already_seen_1172",message:"'extends' clause already seen."},extends_clause_must_precede_implements_clause:{code:1173,category:e.DiagnosticCategory.Error,key:"extends_clause_must_precede_implements_clause_1173",message:"'extends' clause must precede 'implements' clause."},Classes_can_only_extend_a_single_class:{code:1174,category:e.DiagnosticCategory.Error,key:"Classes_can_only_extend_a_single_class_1174",message:"Classes can only extend a single class."},implements_clause_already_seen:{code:1175,category:e.DiagnosticCategory.Error,key:"implements_clause_already_seen_1175",message:"'implements' clause already seen."},Interface_declaration_cannot_have_implements_clause:{code:1176,category:e.DiagnosticCategory.Error,key:"Interface_declaration_cannot_have_implements_clause_1176",message:"Interface declaration cannot have 'implements' clause."},Binary_digit_expected:{code:1177,category:e.DiagnosticCategory.Error,key:"Binary_digit_expected_1177",message:"Binary digit expected."},Octal_digit_expected:{code:1178,category:e.DiagnosticCategory.Error,key:"Octal_digit_expected_1178",message:"Octal digit expected."},Unexpected_token_expected:{code:1179,category:e.DiagnosticCategory.Error,key:"Unexpected_token_expected_1179",message:"Unexpected token. '{' expected."},Property_destructuring_pattern_expected:{code:1180,category:e.DiagnosticCategory.Error,key:"Property_destructuring_pattern_expected_1180",message:"Property destructuring pattern expected."},Array_element_destructuring_pattern_expected:{code:1181,category:e.DiagnosticCategory.Error,key:"Array_element_destructuring_pattern_expected_1181",message:"Array element destructuring pattern expected."},A_destructuring_declaration_must_have_an_initializer:{code:1182,category:e.DiagnosticCategory.Error,key:"A_destructuring_declaration_must_have_an_initializer_1182",message:"A destructuring declaration must have an initializer."},An_implementation_cannot_be_declared_in_ambient_contexts:{code:1183,category:e.DiagnosticCategory.Error,key:"An_implementation_cannot_be_declared_in_ambient_contexts_1183",message:"An implementation cannot be declared in ambient contexts."},Modifiers_cannot_appear_here:{code:1184,category:e.DiagnosticCategory.Error,key:"Modifiers_cannot_appear_here_1184",message:"Modifiers cannot appear here."},Merge_conflict_marker_encountered:{code:1185,category:e.DiagnosticCategory.Error,key:"Merge_conflict_marker_encountered_1185",message:"Merge conflict marker encountered."},A_rest_element_cannot_have_an_initializer:{code:1186,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_have_an_initializer_1186",message:"A rest element cannot have an initializer."},A_parameter_property_may_not_be_declared_using_a_binding_pattern:{code:1187,category:e.DiagnosticCategory.Error,key:"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187",message:"A parameter property may not be declared using a binding pattern."},Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:{code:1188,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188",message:"Only a single variable declaration is allowed in a 'for...of' statement."},The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:{code:1189,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189",message:"The variable declaration of a 'for...in' statement cannot have an initializer."},The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:{code:1190,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190",message:"The variable declaration of a 'for...of' statement cannot have an initializer."},An_import_declaration_cannot_have_modifiers:{code:1191,category:e.DiagnosticCategory.Error,key:"An_import_declaration_cannot_have_modifiers_1191",message:"An import declaration cannot have modifiers."},Module_0_has_no_default_export:{code:1192,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_default_export_1192",message:"Module '{0}' has no default export."},An_export_declaration_cannot_have_modifiers:{code:1193,category:e.DiagnosticCategory.Error,key:"An_export_declaration_cannot_have_modifiers_1193",message:"An export declaration cannot have modifiers."},Export_declarations_are_not_permitted_in_a_namespace:{code:1194,category:e.DiagnosticCategory.Error,key:"Export_declarations_are_not_permitted_in_a_namespace_1194",message:"Export declarations are not permitted in a namespace."},Catch_clause_variable_name_must_be_an_identifier:{code:1195,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_name_must_be_an_identifier_1195",message:"Catch clause variable name must be an identifier."},Catch_clause_variable_cannot_have_a_type_annotation:{code:1196,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_a_type_annotation_1196",message:"Catch clause variable cannot have a type annotation."},Catch_clause_variable_cannot_have_an_initializer:{code:1197,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_an_initializer_1197",message:"Catch clause variable cannot have an initializer."},An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:{code:1198,category:e.DiagnosticCategory.Error,key:"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198",message:"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."},Unterminated_Unicode_escape_sequence:{code:1199,category:e.DiagnosticCategory.Error,key:"Unterminated_Unicode_escape_sequence_1199",message:"Unterminated Unicode escape sequence."},Line_terminator_not_permitted_before_arrow:{code:1200,category:e.DiagnosticCategory.Error,key:"Line_terminator_not_permitted_before_arrow_1200",message:"Line terminator not permitted before arrow."},Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:{code:1202,category:e.DiagnosticCategory.Error,key:"Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asteri_1202",message:"Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."},Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_default_or_another_module_format_instead:{code:1203,category:e.DiagnosticCategory.Error,key:"Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_defaul_1203",message:"Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead."},Decorators_are_not_valid_here:{code:1206,category:e.DiagnosticCategory.Error,key:"Decorators_are_not_valid_here_1206",message:"Decorators are not valid here."},Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:{code:1207,category:e.DiagnosticCategory.Error,key:"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207",message:"Decorators cannot be applied to multiple get/set accessors of the same name."},Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:{code:1208,category:e.DiagnosticCategory.Error,key:"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208",message:"Cannot compile namespaces when the '--isolatedModules' flag is provided."},Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:{code:1209,category:e.DiagnosticCategory.Error,key:"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209",message:"Ambient const enums are not allowed when the '--isolatedModules' flag is provided."},Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:{code:1210,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210",message:"Invalid use of '{0}'. Class definitions are automatically in strict mode."},A_class_declaration_without_the_default_modifier_must_have_a_name:{code:1211,category:e.DiagnosticCategory.Error,key:"A_class_declaration_without_the_default_modifier_must_have_a_name_1211",message:"A class declaration without the 'default' modifier must have a name"},Identifier_expected_0_is_a_reserved_word_in_strict_mode:{code:1212,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212",message:"Identifier expected. '{0}' is a reserved word in strict mode"},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:{code:1213,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213",message:"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:{code:1214,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214",message:"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."},Invalid_use_of_0_Modules_are_automatically_in_strict_mode:{code:1215,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215",message:"Invalid use of '{0}'. Modules are automatically in strict mode."},Export_assignment_is_not_supported_when_module_flag_is_system:{code:1218,category:e.DiagnosticCategory.Error,key:"Export_assignment_is_not_supported_when_module_flag_is_system_1218",message:"Export assignment is not supported when '--module' flag is 'system'."},Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:{code:1219,category:e.DiagnosticCategory.Error,key:"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219",message:"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."},Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:{code:1220,category:e.DiagnosticCategory.Error,key:"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220",message:"Generators are only available when targeting ECMAScript 2015 or higher."},Generators_are_not_allowed_in_an_ambient_context:{code:1221,category:e.DiagnosticCategory.Error,key:"Generators_are_not_allowed_in_an_ambient_context_1221",message:"Generators are not allowed in an ambient context."},An_overload_signature_cannot_be_declared_as_a_generator:{code:1222,category:e.DiagnosticCategory.Error,key:"An_overload_signature_cannot_be_declared_as_a_generator_1222",message:"An overload signature cannot be declared as a generator."},_0_tag_already_specified:{code:1223,category:e.DiagnosticCategory.Error,key:"_0_tag_already_specified_1223",message:"'{0}' tag already specified."},Signature_0_must_have_a_type_predicate:{code:1224,category:e.DiagnosticCategory.Error,key:"Signature_0_must_have_a_type_predicate_1224",message:"Signature '{0}' must have a type predicate."},Cannot_find_parameter_0:{code:1225,category:e.DiagnosticCategory.Error,key:"Cannot_find_parameter_0_1225",message:"Cannot find parameter '{0}'."},Type_predicate_0_is_not_assignable_to_1:{code:1226,category:e.DiagnosticCategory.Error,key:"Type_predicate_0_is_not_assignable_to_1_1226",message:"Type predicate '{0}' is not assignable to '{1}'."},Parameter_0_is_not_in_the_same_position_as_parameter_1:{code:1227,category:e.DiagnosticCategory.Error,key:"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227",message:"Parameter '{0}' is not in the same position as parameter '{1}'."},A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:{code:1228,category:e.DiagnosticCategory.Error,key:"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228",message:"A type predicate is only allowed in return type position for functions and methods."},A_type_predicate_cannot_reference_a_rest_parameter:{code:1229,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_a_rest_parameter_1229",message:"A type predicate cannot reference a rest parameter."},A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:{code:1230,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230",message:"A type predicate cannot reference element '{0}' in a binding pattern."},An_export_assignment_can_only_be_used_in_a_module:{code:1231,category:e.DiagnosticCategory.Error,key:"An_export_assignment_can_only_be_used_in_a_module_1231",message:"An export assignment can only be used in a module."},An_import_declaration_can_only_be_used_in_a_namespace_or_module:{code:1232,category:e.DiagnosticCategory.Error,key:"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232",message:"An import declaration can only be used in a namespace or module."},An_export_declaration_can_only_be_used_in_a_module:{code:1233,category:e.DiagnosticCategory.Error,key:"An_export_declaration_can_only_be_used_in_a_module_1233",message:"An export declaration can only be used in a module."},An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:{code:1234,category:e.DiagnosticCategory.Error,key:"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234",message:"An ambient module declaration is only allowed at the top level in a file."},A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:{code:1235,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235",message:"A namespace declaration is only allowed in a namespace or module."},The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:{code:1236,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236",message:"The return type of a property decorator function must be either 'void' or 'any'."},The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:{code:1237,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237",message:"The return type of a parameter decorator function must be either 'void' or 'any'."},Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:{code:1238,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238",message:"Unable to resolve signature of class decorator when called as an expression."},Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:{code:1239,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239",message:"Unable to resolve signature of parameter decorator when called as an expression."},Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:{code:1240,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240",message:"Unable to resolve signature of property decorator when called as an expression."},Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:{code:1241,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241",message:"Unable to resolve signature of method decorator when called as an expression."},abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:{code:1242,category:e.DiagnosticCategory.Error,key:"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242",message:"'abstract' modifier can only appear on a class, method, or property declaration."},_0_modifier_cannot_be_used_with_1_modifier:{code:1243,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_with_1_modifier_1243",message:"'{0}' modifier cannot be used with '{1}' modifier."},Abstract_methods_can_only_appear_within_an_abstract_class:{code:1244,category:e.DiagnosticCategory.Error,key:"Abstract_methods_can_only_appear_within_an_abstract_class_1244",message:"Abstract methods can only appear within an abstract class."},Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:{code:1245,category:e.DiagnosticCategory.Error,key:"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245",message:"Method '{0}' cannot have an implementation because it is marked abstract."},An_interface_property_cannot_have_an_initializer:{code:1246,category:e.DiagnosticCategory.Error,key:"An_interface_property_cannot_have_an_initializer_1246",message:"An interface property cannot have an initializer."},A_type_literal_property_cannot_have_an_initializer:{code:1247,category:e.DiagnosticCategory.Error,key:"A_type_literal_property_cannot_have_an_initializer_1247",message:"A type literal property cannot have an initializer."},A_class_member_cannot_have_the_0_keyword:{code:1248,category:e.DiagnosticCategory.Error,key:"A_class_member_cannot_have_the_0_keyword_1248",message:"A class member cannot have the '{0}' keyword."},A_decorator_can_only_decorate_a_method_implementation_not_an_overload:{code:1249,category:e.DiagnosticCategory.Error,key:"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249",message:"A decorator can only decorate a method implementation, not an overload."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:{code:1250,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:{code:1251,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:{code:1252,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."},_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:{code:1253,category:e.DiagnosticCategory.Error,key:"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253",message:"'{0}' tag cannot be used independently as a top level JSDoc tag."},with_statements_are_not_allowed_in_an_async_function_block:{code:1300,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_an_async_function_block_1300",message:"'with' statements are not allowed in an async function block."},await_expression_is_only_allowed_within_an_async_function:{code:1308,category:e.DiagnosticCategory.Error,key:"await_expression_is_only_allowed_within_an_async_function_1308",message:"'await' expression is only allowed within an async function."},Async_functions_are_only_available_when_targeting_ECMAScript_2015_or_higher:{code:1311,category:e.DiagnosticCategory.Error,key:"Async_functions_are_only_available_when_targeting_ECMAScript_2015_or_higher_1311",message:"Async functions are only available when targeting ECMAScript 2015 or higher."},can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:{code:1312,category:e.DiagnosticCategory.Error,key:"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312",message:"'=' can only be used in an object literal property inside a destructuring assignment."},The_body_of_an_if_statement_cannot_be_the_empty_statement:{code:1313,category:e.DiagnosticCategory.Error,key:"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313",message:"The body of an 'if' statement cannot be the empty statement."},Global_module_exports_may_only_appear_in_module_files:{code:1314,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_module_files_1314",message:"Global module exports may only appear in module files."},Global_module_exports_may_only_appear_in_declaration_files:{code:1315,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_declaration_files_1315",message:"Global module exports may only appear in declaration files."},Global_module_exports_may_only_appear_at_top_level:{code:1316,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_at_top_level_1316",message:"Global module exports may only appear at top level."},A_parameter_property_cannot_be_declared_using_a_rest_parameter:{code:1317,category:e.DiagnosticCategory.Error,key:"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317",message:"A parameter property cannot be declared using a rest parameter."},Duplicate_identifier_0:{code:2300,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_2300",message:"Duplicate identifier '{0}'."},Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:{code:2301,category:e.DiagnosticCategory.Error,key:"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301",message:"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."},Static_members_cannot_reference_class_type_parameters:{code:2302,category:e.DiagnosticCategory.Error,key:"Static_members_cannot_reference_class_type_parameters_2302",message:"Static members cannot reference class type parameters."},Circular_definition_of_import_alias_0:{code:2303,category:e.DiagnosticCategory.Error,key:"Circular_definition_of_import_alias_0_2303",message:"Circular definition of import alias '{0}'."},Cannot_find_name_0:{code:2304,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_2304",message:"Cannot find name '{0}'."},Module_0_has_no_exported_member_1:{code:2305,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_exported_member_1_2305",message:"Module '{0}' has no exported member '{1}'."},File_0_is_not_a_module:{code:2306,category:e.DiagnosticCategory.Error,key:"File_0_is_not_a_module_2306",message:"File '{0}' is not a module."},Cannot_find_module_0:{code:2307,category:e.DiagnosticCategory.Error,key:"Cannot_find_module_0_2307",message:"Cannot find module '{0}'."},Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:{code:2308,category:e.DiagnosticCategory.Error,key:"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308",message:"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."},An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:{code:2309,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309",message:"An export assignment cannot be used in a module with other exported elements."},Type_0_recursively_references_itself_as_a_base_type:{code:2310,category:e.DiagnosticCategory.Error,key:"Type_0_recursively_references_itself_as_a_base_type_2310",message:"Type '{0}' recursively references itself as a base type."},A_class_may_only_extend_another_class:{code:2311,category:e.DiagnosticCategory.Error,key:"A_class_may_only_extend_another_class_2311",message:"A class may only extend another class."},An_interface_may_only_extend_a_class_or_another_interface:{code:2312,category:e.DiagnosticCategory.Error,key:"An_interface_may_only_extend_a_class_or_another_interface_2312",message:"An interface may only extend a class or another interface."},Type_parameter_0_has_a_circular_constraint:{code:2313,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_has_a_circular_constraint_2313",message:"Type parameter '{0}' has a circular constraint."},Generic_type_0_requires_1_type_argument_s:{code:2314,category:e.DiagnosticCategory.Error,key:"Generic_type_0_requires_1_type_argument_s_2314",message:"Generic type '{0}' requires {1} type argument(s)."},Type_0_is_not_generic:{code:2315,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_generic_2315",message:"Type '{0}' is not generic."},Global_type_0_must_be_a_class_or_interface_type:{code:2316,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_be_a_class_or_interface_type_2316",message:"Global type '{0}' must be a class or interface type."},Global_type_0_must_have_1_type_parameter_s:{code:2317,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_have_1_type_parameter_s_2317",message:"Global type '{0}' must have {1} type parameter(s)."},Cannot_find_global_type_0:{code:2318,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_type_0_2318",message:"Cannot find global type '{0}'."},Named_property_0_of_types_1_and_2_are_not_identical:{code:2319,category:e.DiagnosticCategory.Error,key:"Named_property_0_of_types_1_and_2_are_not_identical_2319",message:"Named property '{0}' of types '{1}' and '{2}' are not identical."},Interface_0_cannot_simultaneously_extend_types_1_and_2:{code:2320,category:e.DiagnosticCategory.Error,key:"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320",message:"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."},Excessive_stack_depth_comparing_types_0_and_1:{code:2321,category:e.DiagnosticCategory.Error,key:"Excessive_stack_depth_comparing_types_0_and_1_2321",message:"Excessive stack depth comparing types '{0}' and '{1}'."},Type_0_is_not_assignable_to_type_1:{code:2322,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_2322",message:"Type '{0}' is not assignable to type '{1}'."},Cannot_redeclare_exported_variable_0:{code:2323,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_exported_variable_0_2323",message:"Cannot redeclare exported variable '{0}'."},Property_0_is_missing_in_type_1:{code:2324,category:e.DiagnosticCategory.Error,key:"Property_0_is_missing_in_type_1_2324",message:"Property '{0}' is missing in type '{1}'."},Property_0_is_private_in_type_1_but_not_in_type_2:{code:2325,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_in_type_1_but_not_in_type_2_2325",message:"Property '{0}' is private in type '{1}' but not in type '{2}'."},Types_of_property_0_are_incompatible:{code:2326,category:e.DiagnosticCategory.Error,key:"Types_of_property_0_are_incompatible_2326",message:"Types of property '{0}' are incompatible."},Property_0_is_optional_in_type_1_but_required_in_type_2:{code:2327,category:e.DiagnosticCategory.Error,key:"Property_0_is_optional_in_type_1_but_required_in_type_2_2327",message:"Property '{0}' is optional in type '{1}' but required in type '{2}'."},Types_of_parameters_0_and_1_are_incompatible:{code:2328,category:e.DiagnosticCategory.Error,key:"Types_of_parameters_0_and_1_are_incompatible_2328",message:"Types of parameters '{0}' and '{1}' are incompatible."},Index_signature_is_missing_in_type_0:{code:2329,category:e.DiagnosticCategory.Error,key:"Index_signature_is_missing_in_type_0_2329",message:"Index signature is missing in type '{0}'."},Index_signatures_are_incompatible:{code:2330,category:e.DiagnosticCategory.Error,key:"Index_signatures_are_incompatible_2330",message:"Index signatures are incompatible."},this_cannot_be_referenced_in_a_module_or_namespace_body:{code:2331,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_module_or_namespace_body_2331",message:"'this' cannot be referenced in a module or namespace body."},this_cannot_be_referenced_in_current_location:{code:2332,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_current_location_2332",message:"'this' cannot be referenced in current location."},this_cannot_be_referenced_in_constructor_arguments:{code:2333,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_constructor_arguments_2333",message:"'this' cannot be referenced in constructor arguments."},this_cannot_be_referenced_in_a_static_property_initializer:{code:2334,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_static_property_initializer_2334",message:"'this' cannot be referenced in a static property initializer."},super_can_only_be_referenced_in_a_derived_class:{code:2335,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_a_derived_class_2335",message:"'super' can only be referenced in a derived class."},super_cannot_be_referenced_in_constructor_arguments:{code:2336,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_constructor_arguments_2336",message:"'super' cannot be referenced in constructor arguments."},Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:{code:2337,category:e.DiagnosticCategory.Error,key:"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337",message:"Super calls are not permitted outside constructors or in nested functions inside constructors."},super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:{code:2338,category:e.DiagnosticCategory.Error,key:"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338",message:"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."},Property_0_does_not_exist_on_type_1:{code:2339,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_type_1_2339",message:"Property '{0}' does not exist on type '{1}'."},Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:{code:2340,category:e.DiagnosticCategory.Error,key:"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340",message:"Only public and protected methods of the base class are accessible via the 'super' keyword."},Property_0_is_private_and_only_accessible_within_class_1:{code:2341,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_and_only_accessible_within_class_1_2341",message:"Property '{0}' is private and only accessible within class '{1}'."},An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:{code:2342,category:e.DiagnosticCategory.Error,key:"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342",message:"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."},Type_0_does_not_satisfy_the_constraint_1:{code:2344,category:e.DiagnosticCategory.Error,key:"Type_0_does_not_satisfy_the_constraint_1_2344",message:"Type '{0}' does not satisfy the constraint '{1}'."},Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:{code:2345,category:e.DiagnosticCategory.Error,key:"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345",message:"Argument of type '{0}' is not assignable to parameter of type '{1}'."},Supplied_parameters_do_not_match_any_signature_of_call_target:{code:2346,category:e.DiagnosticCategory.Error,key:"Supplied_parameters_do_not_match_any_signature_of_call_target_2346",message:"Supplied parameters do not match any signature of call target."},Untyped_function_calls_may_not_accept_type_arguments:{code:2347,category:e.DiagnosticCategory.Error,key:"Untyped_function_calls_may_not_accept_type_arguments_2347",message:"Untyped function calls may not accept type arguments."},Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:{code:2348,category:e.DiagnosticCategory.Error,key:"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348",message:"Value of type '{0}' is not callable. Did you mean to include 'new'?"},Cannot_invoke_an_expression_whose_type_lacks_a_call_signature:{code:2349,category:e.DiagnosticCategory.Error,key:"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_2349",message:"Cannot invoke an expression whose type lacks a call signature."},Only_a_void_function_can_be_called_with_the_new_keyword:{code:2350,category:e.DiagnosticCategory.Error,key:"Only_a_void_function_can_be_called_with_the_new_keyword_2350",message:"Only a void function can be called with the 'new' keyword."},Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:{code:2351,category:e.DiagnosticCategory.Error,key:"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351",message:"Cannot use 'new' with an expression whose type lacks a call or construct signature."},Type_0_cannot_be_converted_to_type_1:{code:2352,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_converted_to_type_1_2352",message:"Type '{0}' cannot be converted to type '{1}'."},Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:{code:2353,category:e.DiagnosticCategory.Error,key:"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353",message:"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."},No_best_common_type_exists_among_return_expressions:{code:2354,category:e.DiagnosticCategory.Error,key:"No_best_common_type_exists_among_return_expressions_2354",message:"No best common type exists among return expressions."},A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:{code:2355,category:e.DiagnosticCategory.Error,key:"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355",message:"A function whose declared type is neither 'void' nor 'any' must return a value."},An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type:{code:2356,category:e.DiagnosticCategory.Error,key:"An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type_2356",message:"An arithmetic operand must be of type 'any', 'number' or an enum type."},The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer:{code:2357,category:e.DiagnosticCategory.Error,key:"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer_2357",message:"The operand of an increment or decrement operator must be a variable, property or indexer."},The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2358,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358",message:"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."},The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:{code:2359,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359",message:"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."},The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:{code:2360,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360",message:"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."},The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2361,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361",message:"The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter"},The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2362,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2362",message:"The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2363,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2363",message:"The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},Invalid_left_hand_side_of_assignment_expression:{code:2364,category:e.DiagnosticCategory.Error,key:"Invalid_left_hand_side_of_assignment_expression_2364",message:"Invalid left-hand side of assignment expression."},Operator_0_cannot_be_applied_to_types_1_and_2:{code:2365,category:e.DiagnosticCategory.Error,key:"Operator_0_cannot_be_applied_to_types_1_and_2_2365",message:"Operator '{0}' cannot be applied to types '{1}' and '{2}'."},Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:{code:2366,category:e.DiagnosticCategory.Error,key:"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366",message:"Function lacks ending return statement and return type does not include 'undefined'."},Type_parameter_name_cannot_be_0:{code:2368,category:e.DiagnosticCategory.Error,key:"Type_parameter_name_cannot_be_0_2368",message:"Type parameter name cannot be '{0}'"},A_parameter_property_is_only_allowed_in_a_constructor_implementation:{code:2369,category:e.DiagnosticCategory.Error,key:"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369",message:"A parameter property is only allowed in a constructor implementation."},A_rest_parameter_must_be_of_an_array_type:{code:2370,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_must_be_of_an_array_type_2370",message:"A rest parameter must be of an array type."},A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:{code:2371,category:e.DiagnosticCategory.Error,key:"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371",message:"A parameter initializer is only allowed in a function or constructor implementation."},Parameter_0_cannot_be_referenced_in_its_initializer:{code:2372,category:e.DiagnosticCategory.Error,key:"Parameter_0_cannot_be_referenced_in_its_initializer_2372",message:"Parameter '{0}' cannot be referenced in its initializer."},Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:{code:2373,category:e.DiagnosticCategory.Error,key:"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373",message:"Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."},Duplicate_string_index_signature:{code:2374,category:e.DiagnosticCategory.Error,key:"Duplicate_string_index_signature_2374",message:"Duplicate string index signature."},Duplicate_number_index_signature:{code:2375,category:e.DiagnosticCategory.Error,key:"Duplicate_number_index_signature_2375",message:"Duplicate number index signature."},A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:{code:2376,category:e.DiagnosticCategory.Error,key:"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376",message:"A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."},Constructors_for_derived_classes_must_contain_a_super_call:{code:2377,category:e.DiagnosticCategory.Error,key:"Constructors_for_derived_classes_must_contain_a_super_call_2377",message:"Constructors for derived classes must contain a 'super' call."},A_get_accessor_must_return_a_value:{code:2378,category:e.DiagnosticCategory.Error,key:"A_get_accessor_must_return_a_value_2378",message:"A 'get' accessor must return a value."},Getter_and_setter_accessors_do_not_agree_in_visibility:{code:2379,category:e.DiagnosticCategory.Error,key:"Getter_and_setter_accessors_do_not_agree_in_visibility_2379",message:"Getter and setter accessors do not agree in visibility."},get_and_set_accessor_must_have_the_same_type:{code:2380,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_type_2380",message:"'get' and 'set' accessor must have the same type."},A_signature_with_an_implementation_cannot_use_a_string_literal_type:{code:2381,category:e.DiagnosticCategory.Error,key:"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381",message:"A signature with an implementation cannot use a string literal type."},Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:{code:2382,category:e.DiagnosticCategory.Error,key:"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382",message:"Specialized overload signature is not assignable to any non-specialized signature."},Overload_signatures_must_all_be_exported_or_non_exported:{code:2383,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_exported_or_non_exported_2383",message:"Overload signatures must all be exported or non-exported."},Overload_signatures_must_all_be_ambient_or_non_ambient:{code:2384,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_ambient_or_non_ambient_2384",message:"Overload signatures must all be ambient or non-ambient."},Overload_signatures_must_all_be_public_private_or_protected:{code:2385,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_public_private_or_protected_2385",message:"Overload signatures must all be public, private or protected."},Overload_signatures_must_all_be_optional_or_required:{code:2386,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_optional_or_required_2386",message:"Overload signatures must all be optional or required."},Function_overload_must_be_static:{code:2387,category:e.DiagnosticCategory.Error,key:"Function_overload_must_be_static_2387",message:"Function overload must be static."},Function_overload_must_not_be_static:{code:2388,category:e.DiagnosticCategory.Error,key:"Function_overload_must_not_be_static_2388",message:"Function overload must not be static."},Function_implementation_name_must_be_0:{code:2389,category:e.DiagnosticCategory.Error,key:"Function_implementation_name_must_be_0_2389",message:"Function implementation name must be '{0}'."},Constructor_implementation_is_missing:{code:2390,category:e.DiagnosticCategory.Error,key:"Constructor_implementation_is_missing_2390",message:"Constructor implementation is missing."},Function_implementation_is_missing_or_not_immediately_following_the_declaration:{code:2391,category:e.DiagnosticCategory.Error,key:"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391",message:"Function implementation is missing or not immediately following the declaration."},Multiple_constructor_implementations_are_not_allowed:{code:2392,category:e.DiagnosticCategory.Error,key:"Multiple_constructor_implementations_are_not_allowed_2392",message:"Multiple constructor implementations are not allowed."},Duplicate_function_implementation:{code:2393,category:e.DiagnosticCategory.Error,key:"Duplicate_function_implementation_2393",message:"Duplicate function implementation."},Overload_signature_is_not_compatible_with_function_implementation:{code:2394,category:e.DiagnosticCategory.Error,key:"Overload_signature_is_not_compatible_with_function_implementation_2394",message:"Overload signature is not compatible with function implementation."},Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:{code:2395,category:e.DiagnosticCategory.Error,key:"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395",message:"Individual declarations in merged declaration '{0}' must be all exported or all local."},Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:{code:2396,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396",message:"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."},Declaration_name_conflicts_with_built_in_global_identifier_0:{code:2397,category:e.DiagnosticCategory.Error,key:"Declaration_name_conflicts_with_built_in_global_identifier_0_2397",message:"Declaration name conflicts with built-in global identifier '{0}'."},Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:{code:2399,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399",message:"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."},Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:{code:2400,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400",message:"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."},Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:{code:2401,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401",message:"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."},Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:{code:2402,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402",message:"Expression resolves to '_super' that compiler uses to capture base class reference."},Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:{code:2403,category:e.DiagnosticCategory.Error,key:"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403",message:"Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."},The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:{code:2404,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404",message:"The left-hand side of a 'for...in' statement cannot use a type annotation."},The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:{code:2405,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405",message:"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."},Invalid_left_hand_side_in_for_in_statement:{code:2406,category:e.DiagnosticCategory.Error,key:"Invalid_left_hand_side_in_for_in_statement_2406",message:"Invalid left-hand side in 'for...in' statement."},The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2407,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_2407",message:"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter."},Setters_cannot_return_a_value:{code:2408,category:e.DiagnosticCategory.Error,key:"Setters_cannot_return_a_value_2408",message:"Setters cannot return a value."},Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:{code:2409,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409",message:"Return type of constructor signature must be assignable to the instance type of the class"},All_symbols_within_a_with_block_will_be_resolved_to_any:{code:2410,category:e.DiagnosticCategory.Error,key:"All_symbols_within_a_with_block_will_be_resolved_to_any_2410",message:"All symbols within a 'with' block will be resolved to 'any'."},Property_0_of_type_1_is_not_assignable_to_string_index_type_2:{code:2411,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411",message:"Property '{0}' of type '{1}' is not assignable to string index type '{2}'."},Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:{code:2412,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412",message:"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."},Numeric_index_type_0_is_not_assignable_to_string_index_type_1:{code:2413,category:e.DiagnosticCategory.Error,key:"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413",message:"Numeric index type '{0}' is not assignable to string index type '{1}'."},Class_name_cannot_be_0:{code:2414,category:e.DiagnosticCategory.Error,key:"Class_name_cannot_be_0_2414",message:"Class name cannot be '{0}'"},Class_0_incorrectly_extends_base_class_1:{code:2415,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_extends_base_class_1_2415",message:"Class '{0}' incorrectly extends base class '{1}'."},Class_static_side_0_incorrectly_extends_base_class_static_side_1:{code:2417,category:e.DiagnosticCategory.Error,key:"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417",message:"Class static side '{0}' incorrectly extends base class static side '{1}'."},Class_0_incorrectly_implements_interface_1:{code:2420,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_implements_interface_1_2420",message:"Class '{0}' incorrectly implements interface '{1}'."},A_class_may_only_implement_another_class_or_interface:{code:2422,category:e.DiagnosticCategory.Error,key:"A_class_may_only_implement_another_class_or_interface_2422",message:"A class may only implement another class or interface."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:{code:2423,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:{code:2424,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."},Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2425,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425",message:"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."},Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2426,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426",message:"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."},Interface_name_cannot_be_0:{code:2427,category:e.DiagnosticCategory.Error,key:"Interface_name_cannot_be_0_2427",message:"Interface name cannot be '{0}'"},All_declarations_of_0_must_have_identical_type_parameters:{code:2428,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_type_parameters_2428",message:"All declarations of '{0}' must have identical type parameters."},Interface_0_incorrectly_extends_interface_1:{code:2430,category:e.DiagnosticCategory.Error,key:"Interface_0_incorrectly_extends_interface_1_2430",message:"Interface '{0}' incorrectly extends interface '{1}'."},Enum_name_cannot_be_0:{code:2431,category:e.DiagnosticCategory.Error,key:"Enum_name_cannot_be_0_2431",message:"Enum name cannot be '{0}'"},In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:{code:2432,category:e.DiagnosticCategory.Error,key:"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432",message:"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."},A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:{code:2433,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433",message:"A namespace declaration cannot be in a different file from a class or function with which it is merged"},A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:{code:2434,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434",message:"A namespace declaration cannot be located prior to a class or function with which it is merged"},Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:{code:2435,category:e.DiagnosticCategory.Error,key:"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435",message:"Ambient modules cannot be nested in other modules or namespaces."},Ambient_module_declaration_cannot_specify_relative_module_name:{code:2436,category:e.DiagnosticCategory.Error,key:"Ambient_module_declaration_cannot_specify_relative_module_name_2436",message:"Ambient module declaration cannot specify relative module name."},Module_0_is_hidden_by_a_local_declaration_with_the_same_name:{code:2437,category:e.DiagnosticCategory.Error,key:"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437",message:"Module '{0}' is hidden by a local declaration with the same name"},Import_name_cannot_be_0:{code:2438,category:e.DiagnosticCategory.Error,key:"Import_name_cannot_be_0_2438",message:"Import name cannot be '{0}'"},Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:{code:2439,category:e.DiagnosticCategory.Error,key:"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439",message:"Import or export declaration in an ambient module declaration cannot reference module through relative module name."},Import_declaration_conflicts_with_local_declaration_of_0:{code:2440,category:e.DiagnosticCategory.Error,key:"Import_declaration_conflicts_with_local_declaration_of_0_2440",message:"Import declaration conflicts with local declaration of '{0}'"},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:{code:2441,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."},Types_have_separate_declarations_of_a_private_property_0:{code:2442,category:e.DiagnosticCategory.Error,key:"Types_have_separate_declarations_of_a_private_property_0_2442",message:"Types have separate declarations of a private property '{0}'."},Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:{code:2443,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443",message:"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."},Property_0_is_protected_in_type_1_but_public_in_type_2:{code:2444,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_in_type_1_but_public_in_type_2_2444",message:"Property '{0}' is protected in type '{1}' but public in type '{2}'."},Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:{code:2445,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445",message:"Property '{0}' is protected and only accessible within class '{1}' and its subclasses."},Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:{code:2446,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446",message:"Property '{0}' is protected and only accessible through an instance of class '{1}'."},The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:{code:2447,category:e.DiagnosticCategory.Error,key:"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447",message:"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."},Block_scoped_variable_0_used_before_its_declaration:{code:2448,category:e.DiagnosticCategory.Error,key:"Block_scoped_variable_0_used_before_its_declaration_2448",message:"Block-scoped variable '{0}' used before its declaration."},The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant_or_a_read_only_property:{code:2449,category:e.DiagnosticCategory.Error,key:"The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant_or_a_read_only_property_2449",message:"The operand of an increment or decrement operator cannot be a constant or a read-only property."},Left_hand_side_of_assignment_expression_cannot_be_a_constant_or_a_read_only_property:{code:2450,category:e.DiagnosticCategory.Error,key:"Left_hand_side_of_assignment_expression_cannot_be_a_constant_or_a_read_only_property_2450",message:"Left-hand side of assignment expression cannot be a constant or a read-only property."},Cannot_redeclare_block_scoped_variable_0:{code:2451,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_block_scoped_variable_0_2451",message:"Cannot redeclare block-scoped variable '{0}'."},An_enum_member_cannot_have_a_numeric_name:{code:2452,category:e.DiagnosticCategory.Error,key:"An_enum_member_cannot_have_a_numeric_name_2452",message:"An enum member cannot have a numeric name."},The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:{code:2453,category:e.DiagnosticCategory.Error,key:"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453",message:"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."},Variable_0_is_used_before_being_assigned:{code:2454,category:e.DiagnosticCategory.Error,key:"Variable_0_is_used_before_being_assigned_2454",message:"Variable '{0}' is used before being assigned."},Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:{code:2455,category:e.DiagnosticCategory.Error,key:"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455",message:"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."},Type_alias_0_circularly_references_itself:{code:2456,category:e.DiagnosticCategory.Error,key:"Type_alias_0_circularly_references_itself_2456",message:"Type alias '{0}' circularly references itself."},Type_alias_name_cannot_be_0:{code:2457,category:e.DiagnosticCategory.Error,key:"Type_alias_name_cannot_be_0_2457",message:"Type alias name cannot be '{0}'"},An_AMD_module_cannot_have_multiple_name_assignments:{code:2458,category:e.DiagnosticCategory.Error,key:"An_AMD_module_cannot_have_multiple_name_assignments_2458",message:"An AMD module cannot have multiple name assignments."},Type_0_has_no_property_1_and_no_string_index_signature:{code:2459,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_and_no_string_index_signature_2459",message:"Type '{0}' has no property '{1}' and no string index signature."},Type_0_has_no_property_1:{code:2460,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_2460",message:"Type '{0}' has no property '{1}'."},Type_0_is_not_an_array_type:{code:2461,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_2461",message:"Type '{0}' is not an array type."},A_rest_element_must_be_last_in_an_array_destructuring_pattern:{code:2462,category:e.DiagnosticCategory.Error,key:"A_rest_element_must_be_last_in_an_array_destructuring_pattern_2462",message:"A rest element must be last in an array destructuring pattern"},A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:{code:2463,category:e.DiagnosticCategory.Error,key:"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463",message:"A binding pattern parameter cannot be optional in an implementation signature."},A_computed_property_name_must_be_of_type_string_number_symbol_or_any:{code:2464,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464",message:"A computed property name must be of type 'string', 'number', 'symbol', or 'any'."},this_cannot_be_referenced_in_a_computed_property_name:{code:2465,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_computed_property_name_2465",message:"'this' cannot be referenced in a computed property name."},super_cannot_be_referenced_in_a_computed_property_name:{code:2466,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_a_computed_property_name_2466",message:"'super' cannot be referenced in a computed property name."},A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:{code:2467,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467",message:"A computed property name cannot reference a type parameter from its containing type."},Cannot_find_global_value_0:{code:2468,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_value_0_2468",message:"Cannot find global value '{0}'."},The_0_operator_cannot_be_applied_to_type_symbol:{code:2469,category:e.DiagnosticCategory.Error,key:"The_0_operator_cannot_be_applied_to_type_symbol_2469",message:"The '{0}' operator cannot be applied to type 'symbol'."},Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:{code:2470,category:e.DiagnosticCategory.Error,key:"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470",message:"'Symbol' reference does not refer to the global Symbol constructor object."},A_computed_property_name_of_the_form_0_must_be_of_type_symbol:{code:2471,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471",message:"A computed property name of the form '{0}' must be of type 'symbol'."},Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:{code:2472,category:e.DiagnosticCategory.Error,key:"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472",message:"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."},Enum_declarations_must_all_be_const_or_non_const:{code:2473,category:e.DiagnosticCategory.Error,key:"Enum_declarations_must_all_be_const_or_non_const_2473",message:"Enum declarations must all be const or non-const."},In_const_enum_declarations_member_initializer_must_be_constant_expression:{code:2474,category:e.DiagnosticCategory.Error,key:"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474",message:"In 'const' enum declarations member initializer must be constant expression."},const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment:{code:2475,category:e.DiagnosticCategory.Error,key:"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475",message:"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment."},A_const_enum_member_can_only_be_accessed_using_a_string_literal:{code:2476,category:e.DiagnosticCategory.Error,key:"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476",message:"A const enum member can only be accessed using a string literal."},const_enum_member_initializer_was_evaluated_to_a_non_finite_value:{code:2477,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477",message:"'const' enum member initializer was evaluated to a non-finite value."},const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:{code:2478,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478",message:"'const' enum member initializer was evaluated to disallowed value 'NaN'."},Property_0_does_not_exist_on_const_enum_1:{code:2479,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_const_enum_1_2479",message:"Property '{0}' does not exist on 'const' enum '{1}'."},let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:{code:2480,category:e.DiagnosticCategory.Error,key:"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480",message:"'let' is not allowed to be used as a name in 'let' or 'const' declarations."},Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:{code:2481,category:e.DiagnosticCategory.Error,key:"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481",message:"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."},The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:{code:2483,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483",message:"The left-hand side of a 'for...of' statement cannot use a type annotation."},Export_declaration_conflicts_with_exported_declaration_of_0:{code:2484,category:e.DiagnosticCategory.Error,key:"Export_declaration_conflicts_with_exported_declaration_of_0_2484",message:"Export declaration conflicts with exported declaration of '{0}'"},The_left_hand_side_of_a_for_of_statement_cannot_be_a_constant_or_a_read_only_property:{code:2485,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_cannot_be_a_constant_or_a_read_only_property_2485",message:"The left-hand side of a 'for...of' statement cannot be a constant or a read-only property."},The_left_hand_side_of_a_for_in_statement_cannot_be_a_constant_or_a_read_only_property:{code:2486,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_be_a_constant_or_a_read_only_property_2486",message:"The left-hand side of a 'for...in' statement cannot be a constant or a read-only property."},Invalid_left_hand_side_in_for_of_statement:{code:2487,category:e.DiagnosticCategory.Error,key:"Invalid_left_hand_side_in_for_of_statement_2487",message:"Invalid left-hand side in 'for...of' statement."},Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2488,category:e.DiagnosticCategory.Error,key:"Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488",message:"Type must have a '[Symbol.iterator]()' method that returns an iterator."},An_iterator_must_have_a_next_method:{code:2489,category:e.DiagnosticCategory.Error,key:"An_iterator_must_have_a_next_method_2489",message:"An iterator must have a 'next()' method."},The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:{code:2490,category:e.DiagnosticCategory.Error,key:"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490",message:"The type returned by the 'next()' method of an iterator must have a 'value' property."},The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:{code:2491,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491",message:"The left-hand side of a 'for...in' statement cannot be a destructuring pattern."},Cannot_redeclare_identifier_0_in_catch_clause:{code:2492,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_identifier_0_in_catch_clause_2492",message:"Cannot redeclare identifier '{0}' in catch clause"},Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:{code:2493,category:e.DiagnosticCategory.Error,key:"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493",message:"Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."},Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:{code:2494,category:e.DiagnosticCategory.Error,key:"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494",message:"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."},Type_0_is_not_an_array_type_or_a_string_type:{code:2495,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_a_string_type_2495",message:"Type '{0}' is not an array type or a string type."},The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:{code:2496,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496",message:"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."},Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:{code:2497,category:e.DiagnosticCategory.Error,key:"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497",message:"Module '{0}' resolves to a non-module entity and cannot be imported using this construct."},Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:{code:2498,category:e.DiagnosticCategory.Error,key:"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498",message:"Module '{0}' uses 'export =' and cannot be used with 'export *'."},An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2499,category:e.DiagnosticCategory.Error,key:"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499",message:"An interface can only extend an identifier/qualified-name with optional type arguments."},A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2500,category:e.DiagnosticCategory.Error,key:"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500",message:"A class can only implement an identifier/qualified-name with optional type arguments."},A_rest_element_cannot_contain_a_binding_pattern:{code:2501,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_contain_a_binding_pattern_2501",message:"A rest element cannot contain a binding pattern."},_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:{code:2502,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502",message:"'{0}' is referenced directly or indirectly in its own type annotation."},Cannot_find_namespace_0:{code:2503,category:e.DiagnosticCategory.Error,key:"Cannot_find_namespace_0_2503",message:"Cannot find namespace '{0}'."},No_best_common_type_exists_among_yield_expressions:{code:2504,category:e.DiagnosticCategory.Error,key:"No_best_common_type_exists_among_yield_expressions_2504",message:"No best common type exists among yield expressions."},A_generator_cannot_have_a_void_type_annotation:{code:2505,category:e.DiagnosticCategory.Error,key:"A_generator_cannot_have_a_void_type_annotation_2505",message:"A generator cannot have a 'void' type annotation."},_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:{code:2506,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506",message:"'{0}' is referenced directly or indirectly in its own base expression."},Type_0_is_not_a_constructor_function_type:{code:2507,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_a_constructor_function_type_2507",message:"Type '{0}' is not a constructor function type."},No_base_constructor_has_the_specified_number_of_type_arguments:{code:2508,category:e.DiagnosticCategory.Error,key:"No_base_constructor_has_the_specified_number_of_type_arguments_2508",message:"No base constructor has the specified number of type arguments."},Base_constructor_return_type_0_is_not_a_class_or_interface_type:{code:2509,category:e.DiagnosticCategory.Error,key:"Base_constructor_return_type_0_is_not_a_class_or_interface_type_2509",message:"Base constructor return type '{0}' is not a class or interface type."},Base_constructors_must_all_have_the_same_return_type:{code:2510,category:e.DiagnosticCategory.Error,key:"Base_constructors_must_all_have_the_same_return_type_2510",message:"Base constructors must all have the same return type."},Cannot_create_an_instance_of_the_abstract_class_0:{code:2511,category:e.DiagnosticCategory.Error,key:"Cannot_create_an_instance_of_the_abstract_class_0_2511",message:"Cannot create an instance of the abstract class '{0}'."},Overload_signatures_must_all_be_abstract_or_non_abstract:{code:2512,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_abstract_or_non_abstract_2512",message:"Overload signatures must all be abstract or non-abstract."},Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:{code:2513,category:e.DiagnosticCategory.Error,key:"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513",message:"Abstract method '{0}' in class '{1}' cannot be accessed via super expression."},Classes_containing_abstract_methods_must_be_marked_abstract:{code:2514,category:e.DiagnosticCategory.Error,key:"Classes_containing_abstract_methods_must_be_marked_abstract_2514",message:"Classes containing abstract methods must be marked abstract."},Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:{code:2515,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515",message:"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."},All_declarations_of_an_abstract_method_must_be_consecutive:{code:2516,category:e.DiagnosticCategory.Error,key:"All_declarations_of_an_abstract_method_must_be_consecutive_2516",message:"All declarations of an abstract method must be consecutive."},Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:{code:2517,category:e.DiagnosticCategory.Error,key:"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517",message:"Cannot assign an abstract constructor type to a non-abstract constructor type."},A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:{code:2518,category:e.DiagnosticCategory.Error,key:"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518",message:"A 'this'-based type guard is not compatible with a parameter-based type guard."},Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:{code:2520,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520",message:"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."},Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:{code:2521,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521",message:"Expression resolves to variable declaration '{0}' that compiler uses to support async functions."},The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_function_expression:{code:2522,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_2522",message:"The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression."},yield_expressions_cannot_be_used_in_a_parameter_initializer:{code:2523,category:e.DiagnosticCategory.Error,key:"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523",message:"'yield' expressions cannot be used in a parameter initializer."},await_expressions_cannot_be_used_in_a_parameter_initializer:{code:2524,category:e.DiagnosticCategory.Error,key:"await_expressions_cannot_be_used_in_a_parameter_initializer_2524",message:"'await' expressions cannot be used in a parameter initializer."},Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:{code:2525,category:e.DiagnosticCategory.Error,key:"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525",message:"Initializer provides no value for this binding element and the binding element has no default value."},A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:{code:2526,category:e.DiagnosticCategory.Error,key:"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526",message:"A 'this' type is available only in a non-static member of a class or interface."},The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary:{code:2527,category:e.DiagnosticCategory.Error,key:"The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary_2527",message:"The inferred type of '{0}' references an inaccessible 'this' type. A type annotation is necessary."},A_module_cannot_have_multiple_default_exports:{code:2528,category:e.DiagnosticCategory.Error,key:"A_module_cannot_have_multiple_default_exports_2528",message:"A module cannot have multiple default exports."},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:{code:2529,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."},Property_0_is_incompatible_with_index_signature:{code:2530,category:e.DiagnosticCategory.Error,key:"Property_0_is_incompatible_with_index_signature_2530",message:"Property '{0}' is incompatible with index signature."},Object_is_possibly_null:{code:2531,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_2531",message:"Object is possibly 'null'."},Object_is_possibly_undefined:{code:2532,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_undefined_2532",message:"Object is possibly 'undefined'."},Object_is_possibly_null_or_undefined:{code:2533,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_or_undefined_2533",message:"Object is possibly 'null' or 'undefined'."},A_function_returning_never_cannot_have_a_reachable_end_point:{code:2534,category:e.DiagnosticCategory.Error,key:"A_function_returning_never_cannot_have_a_reachable_end_point_2534",message:"A function returning 'never' cannot have a reachable end point."},JSX_element_attributes_type_0_may_not_be_a_union_type:{code:2600,category:e.DiagnosticCategory.Error,key:"JSX_element_attributes_type_0_may_not_be_a_union_type_2600",message:"JSX element attributes type '{0}' may not be a union type."},The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:{code:2601,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601",message:"The return type of a JSX element constructor must return an object type."},JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:{code:2602,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602",message:"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."},Property_0_in_type_1_is_not_assignable_to_type_2:{code:2603,category:e.DiagnosticCategory.Error,key:"Property_0_in_type_1_is_not_assignable_to_type_2_2603",message:"Property '{0}' in type '{1}' is not assignable to type '{2}'"},JSX_element_type_0_does_not_have_any_construct_or_call_signatures:{code:2604,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604",message:"JSX element type '{0}' does not have any construct or call signatures."},JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:{code:2605,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605",message:"JSX element type '{0}' is not a constructor function for JSX elements."},Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:{code:2606,category:e.DiagnosticCategory.Error,key:"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606",message:"Property '{0}' of JSX spread attribute is not assignable to target property."},JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:{code:2607,category:e.DiagnosticCategory.Error,key:"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607",message:"JSX element class does not support attributes because it does not have a '{0}' property"},The_global_type_JSX_0_may_not_have_more_than_one_property:{code:2608,category:e.DiagnosticCategory.Error,key:"The_global_type_JSX_0_may_not_have_more_than_one_property_2608",message:"The global type 'JSX.{0}' may not have more than one property"},Cannot_emit_namespaced_JSX_elements_in_React:{code:2650,category:e.DiagnosticCategory.Error,key:"Cannot_emit_namespaced_JSX_elements_in_React_2650",message:"Cannot emit namespaced JSX elements in React"},A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:{code:2651,category:e.DiagnosticCategory.Error,key:"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651",message:"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."},Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:{code:2652,category:e.DiagnosticCategory.Error,key:"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652",message:"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."},Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:{code:2653,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653",message:"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."},Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:{code:2654,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654",message:"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."},Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:{code:2656,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656",message:"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."},JSX_expressions_must_have_one_parent_element:{code:2657,category:e.DiagnosticCategory.Error,key:"JSX_expressions_must_have_one_parent_element_2657",message:"JSX expressions must have one parent element"},Type_0_provides_no_match_for_the_signature_1:{code:2658,category:e.DiagnosticCategory.Error,key:"Type_0_provides_no_match_for_the_signature_1_2658",message:"Type '{0}' provides no match for the signature '{1}'"},super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:{code:2659,category:e.DiagnosticCategory.Error,key:"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659",message:"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."},super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:{code:2660,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660",message:"'super' can only be referenced in members of derived classes or object literal expressions."},Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:{code:2661,category:e.DiagnosticCategory.Error,key:"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661",message:"Cannot export '{0}'. Only local declarations can be exported from a module."},Cannot_find_name_0_Did_you_mean_the_static_member_1_0:{code:2662,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662",message:"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"},Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:{code:2663,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663",message:"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"},Invalid_module_name_in_augmentation_module_0_cannot_be_found:{code:2664,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664",message:"Invalid module name in augmentation, module '{0}' cannot be found."},Exports_and_export_assignments_are_not_permitted_in_module_augmentations:{code:2666,category:e.DiagnosticCategory.Error,key:"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666",message:"Exports and export assignments are not permitted in module augmentations."},Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:{code:2667,category:e.DiagnosticCategory.Error,key:"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667",message:"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."},export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:{code:2668,category:e.DiagnosticCategory.Error,key:"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668",message:"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."},Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:{code:2669,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669",message:"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."},Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:{code:2670,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670",message:"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."},Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:{code:2671,category:e.DiagnosticCategory.Error,key:"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671",message:"Cannot augment module '{0}' because it resolves to a non-module entity."},Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:{code:2672,category:e.DiagnosticCategory.Error,key:"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672",message:"Cannot assign a '{0}' constructor type to a '{1}' constructor type."},Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:{code:2673,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673",message:"Constructor of class '{0}' is private and only accessible within the class declaration."},Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:{code:2674,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674",message:"Constructor of class '{0}' is protected and only accessible within the class declaration."},Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:{code:2675,category:e.DiagnosticCategory.Error,key:"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675",message:"Cannot extend a class '{0}'. Class constructor is marked as private."},Accessors_must_both_be_abstract_or_non_abstract:{code:2676,category:e.DiagnosticCategory.Error,key:"Accessors_must_both_be_abstract_or_non_abstract_2676",message:"Accessors must both be abstract or non-abstract."},A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:{code:2677,category:e.DiagnosticCategory.Error,key:"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677",message:"A type predicate's type must be assignable to its parameter's type."},Type_0_is_not_comparable_to_type_1:{code:2678,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_comparable_to_type_1_2678",message:"Type '{0}' is not comparable to type '{1}'."},A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:{code:2679,category:e.DiagnosticCategory.Error,key:"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679",message:"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."},A_this_parameter_must_be_the_first_parameter:{code:2680,category:e.DiagnosticCategory.Error,key:"A_this_parameter_must_be_the_first_parameter_2680",message:"A 'this' parameter must be the first parameter."},A_constructor_cannot_have_a_this_parameter:{code:2681,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_have_a_this_parameter_2681",message:"A constructor cannot have a 'this' parameter."},get_and_set_accessor_must_have_the_same_this_type:{code:2682,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_this_type_2682",message:"'get' and 'set' accessor must have the same 'this' type."},this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:{code:2683,category:e.DiagnosticCategory.Error,key:"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683",message:"'this' implicitly has type 'any' because it does not have a type annotation."},The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:{code:2684,category:e.DiagnosticCategory.Error,key:"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684",message:"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."},The_this_types_of_each_signature_are_incompatible:{code:2685,category:e.DiagnosticCategory.Error,key:"The_this_types_of_each_signature_are_incompatible_2685",message:"The 'this' types of each signature are incompatible."},Identifier_0_must_be_imported_from_a_module:{code:2686,category:e.DiagnosticCategory.Error,key:"Identifier_0_must_be_imported_from_a_module_2686",message:"Identifier '{0}' must be imported from a module"},All_declarations_of_0_must_have_identical_modifiers:{code:2687,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_modifiers_2687",message:"All declarations of '{0}' must have identical modifiers."},Cannot_find_type_definition_file_for_0:{code:2688,category:e.DiagnosticCategory.Error,key:"Cannot_find_type_definition_file_for_0_2688",message:"Cannot find type definition file for '{0}'."},Cannot_extend_an_interface_0_Did_you_mean_implements:{code:2689,category:e.DiagnosticCategory.Error,key:"Cannot_extend_an_interface_0_Did_you_mean_implements_2689",message:"Cannot extend an interface '{0}'. Did you mean 'implements'?"},Import_declaration_0_is_using_private_name_1:{code:4e3,category:e.DiagnosticCategory.Error,key:"Import_declaration_0_is_using_private_name_1_4000",message:"Import declaration '{0}' is using private name '{1}'."},Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:{code:4002,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002",message:"Type parameter '{0}' of exported class has or is using private name '{1}'."},Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:{code:4004,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004",message:"Type parameter '{0}' of exported interface has or is using private name '{1}'."},Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4006,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006",message:"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4008,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008",message:"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4010,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010",message:"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4012,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012",message:"Type parameter '{0}' of public method from exported class has or is using private name '{1}'."},Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4014,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014",message:"Type parameter '{0}' of method from exported interface has or is using private name '{1}'."},Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4016,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016",message:"Type parameter '{0}' of exported function has or is using private name '{1}'."},Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4019,category:e.DiagnosticCategory.Error,key:"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019",message:"Implements clause of exported class '{0}' has or is using private name '{1}'."},Extends_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4020,category:e.DiagnosticCategory.Error,key:"Extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020",message:"Extends clause of exported class '{0}' has or is using private name '{1}'."},Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:{code:4022,category:e.DiagnosticCategory.Error,key:"Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022",message:"Extends clause of exported interface '{0}' has or is using private name '{1}'."},Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4023,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023",message:"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."},Exported_variable_0_has_or_is_using_name_1_from_private_module_2:{code:4024,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024",message:"Exported variable '{0}' has or is using name '{1}' from private module '{2}'."},Exported_variable_0_has_or_is_using_private_name_1:{code:4025,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_private_name_1_4025",message:"Exported variable '{0}' has or is using private name '{1}'."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4026,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026",message:"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4027,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027",message:"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4028,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028",message:"Public static property '{0}' of exported class has or is using private name '{1}'."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4029,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029",message:"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4030,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030",message:"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4031,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031",message:"Public property '{0}' of exported class has or is using private name '{1}'."},Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4032,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032",message:"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."},Property_0_of_exported_interface_has_or_is_using_private_name_1:{code:4033,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033",message:"Property '{0}' of exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4034,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_4034",message:"Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4035,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1_4035",message:"Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4036,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_4036",message:"Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4037,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1_4037",message:"Parameter '{0}' of public property setter from exported class has or is using private name '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4038,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_externa_4038",message:"Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4039,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_4039",message:"Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4040,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0_4040",message:"Return type of public static property getter from exported class has or is using private name '{0}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4041,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_modul_4041",message:"Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4042,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_4042",message:"Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4043,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0_4043",message:"Return type of public property getter from exported class has or is using private name '{0}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4044,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044",message:"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4045,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045",message:"Return type of constructor signature from exported interface has or is using private name '{0}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4046,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046",message:"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4047,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047",message:"Return type of call signature from exported interface has or is using private name '{0}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4048,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048",message:"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4049,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049",message:"Return type of index signature from exported interface has or is using private name '{0}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4050,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050",message:"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4051,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051",message:"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:{code:4052,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052",message:"Return type of public static method from exported class has or is using private name '{0}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4053,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053",message:"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4054,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054",message:"Return type of public method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:{code:4055,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055",message:"Return type of public method from exported class has or is using private name '{0}'."},Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4056,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056",message:"Return type of method from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:{code:4057,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057",message:"Return type of method from exported interface has or is using private name '{0}'."},Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4058,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058",message:"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:{code:4059,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059",message:"Return type of exported function has or is using name '{0}' from private module '{1}'."},Return_type_of_exported_function_has_or_is_using_private_name_0:{code:4060,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_private_name_0_4060",message:"Return type of exported function has or is using private name '{0}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4061,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4062,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:{code:4063,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063",message:"Parameter '{0}' of constructor from exported class has or is using private name '{1}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4064,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064",message:"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4065,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065",message:"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4066,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066",message:"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4067,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067",message:"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4068,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4069,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4070,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070",message:"Parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4071,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4072,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4073,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073",message:"Parameter '{0}' of public method from exported class has or is using private name '{1}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4074,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074",message:"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4075,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075",message:"Parameter '{0}' of method from exported interface has or is using private name '{1}'."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4076,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076",message:"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:{code:4077,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077",message:"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."},Parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4078,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078",message:"Parameter '{0}' of exported function has or is using private name '{1}'."},Exported_type_alias_0_has_or_is_using_private_name_1:{code:4081,category:e.DiagnosticCategory.Error,key:"Exported_type_alias_0_has_or_is_using_private_name_1_4081",message:"Exported type alias '{0}' has or is using private name '{1}'."},Default_export_of_the_module_has_or_is_using_private_name_0:{code:4082,category:e.DiagnosticCategory.Error,key:"Default_export_of_the_module_has_or_is_using_private_name_0_4082",message:"Default export of the module has or is using private name '{0}'."},Conflicting_library_definitions_for_0_found_at_1_and_2_Copy_the_correct_file_to_the_typings_folder_to_resolve_this_conflict:{code:4090,category:e.DiagnosticCategory.Message,key:"Conflicting_library_definitions_for_0_found_at_1_and_2_Copy_the_correct_file_to_the_typings_folder_t_4090",message:"Conflicting library definitions for '{0}' found at '{1}' and '{2}'. Copy the correct file to the 'typings' folder to resolve this conflict."},The_current_host_does_not_support_the_0_option:{code:5001,category:e.DiagnosticCategory.Error,key:"The_current_host_does_not_support_the_0_option_5001",message:"The current host does not support the '{0}' option."},Cannot_find_the_common_subdirectory_path_for_the_input_files:{code:5009,category:e.DiagnosticCategory.Error,key:"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009",message:"Cannot find the common subdirectory path for the input files."},File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5010,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010",message:"File specification cannot end in a recursive directory wildcard ('**'): '{0}'."},File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0:{code:5011,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0_5011",message:"File specification cannot contain multiple recursive directory wildcards ('**'): '{0}'."},Cannot_read_file_0_Colon_1:{code:5012,category:e.DiagnosticCategory.Error,key:"Cannot_read_file_0_Colon_1_5012",message:"Cannot read file '{0}': {1}"},Unsupported_file_encoding:{code:5013,category:e.DiagnosticCategory.Error,key:"Unsupported_file_encoding_5013",message:"Unsupported file encoding."},Failed_to_parse_file_0_Colon_1:{code:5014,category:e.DiagnosticCategory.Error,key:"Failed_to_parse_file_0_Colon_1_5014",message:"Failed to parse file '{0}': {1}."},Unknown_compiler_option_0:{code:5023,category:e.DiagnosticCategory.Error,key:"Unknown_compiler_option_0_5023",message:"Unknown compiler option '{0}'."},Compiler_option_0_requires_a_value_of_type_1:{code:5024,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_requires_a_value_of_type_1_5024",message:"Compiler option '{0}' requires a value of type {1}."},Could_not_write_file_0_Colon_1:{code:5033,category:e.DiagnosticCategory.Error,key:"Could_not_write_file_0_Colon_1_5033",message:"Could not write file '{0}': {1}"},Option_project_cannot_be_mixed_with_source_files_on_a_command_line:{code:5042,category:e.DiagnosticCategory.Error,key:"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042",message:"Option 'project' cannot be mixed with source files on a command line."},Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:{code:5047,category:e.DiagnosticCategory.Error,key:"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047",message:"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."},Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:{code:5051,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051",message:"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."},Option_0_cannot_be_specified_without_specifying_option_1:{code:5052,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_without_specifying_option_1_5052",message:"Option '{0}' cannot be specified without specifying option '{1}'."},Option_0_cannot_be_specified_with_option_1:{code:5053,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_with_option_1_5053",message:"Option '{0}' cannot be specified with option '{1}'."},A_tsconfig_json_file_is_already_defined_at_Colon_0:{code:5054,category:e.DiagnosticCategory.Error,key:"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054",message:"A 'tsconfig.json' file is already defined at: '{0}'."},Cannot_write_file_0_because_it_would_overwrite_input_file:{code:5055,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_overwrite_input_file_5055",message:"Cannot write file '{0}' because it would overwrite input file."},Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:{code:5056,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056",message:"Cannot write file '{0}' because it would be overwritten by multiple input files."},Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:{code:5057,category:e.DiagnosticCategory.Error,key:"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057",message:"Cannot find a tsconfig.json file at the specified directory: '{0}'"},The_specified_path_does_not_exist_Colon_0:{code:5058,category:e.DiagnosticCategory.Error,key:"The_specified_path_does_not_exist_Colon_0_5058",message:"The specified path does not exist: '{0}'"},Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:{code:5059,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059",message:"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."},Option_paths_cannot_be_used_without_specifying_baseUrl_option:{code:5060,category:e.DiagnosticCategory.Error,key:"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060",message:"Option 'paths' cannot be used without specifying '--baseUrl' option."},Pattern_0_can_have_at_most_one_Asterisk_character:{code:5061,category:e.DiagnosticCategory.Error,key:"Pattern_0_can_have_at_most_one_Asterisk_character_5061",message:"Pattern '{0}' can have at most one '*' character"},Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:{code:5062,category:e.DiagnosticCategory.Error,key:"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062",message:"Substitution '{0}' in pattern '{1}' in can have at most one '*' character"},Substitutions_for_pattern_0_should_be_an_array:{code:5063,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_should_be_an_array_5063",message:"Substitutions for pattern '{0}' should be an array."},Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:{code:5064,category:e.DiagnosticCategory.Error,key:"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064",message:"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."},File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5065,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065",message:"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."},Concatenate_and_emit_output_to_single_file:{code:6001,category:e.DiagnosticCategory.Message,key:"Concatenate_and_emit_output_to_single_file_6001",message:"Concatenate and emit output to single file."},Generates_corresponding_d_ts_file:{code:6002,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_d_ts_file_6002",message:"Generates corresponding '.d.ts' file."},Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:{code:6003,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003",message:"Specify the location where debugger should locate map files instead of generated locations."},Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:{code:6004,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004",message:"Specify the location where debugger should locate TypeScript files instead of source locations."},Watch_input_files:{code:6005,category:e.DiagnosticCategory.Message,key:"Watch_input_files_6005",message:"Watch input files."},Redirect_output_structure_to_the_directory:{code:6006,category:e.DiagnosticCategory.Message,key:"Redirect_output_structure_to_the_directory_6006",message:"Redirect output structure to the directory."},Do_not_erase_const_enum_declarations_in_generated_code:{code:6007,category:e.DiagnosticCategory.Message,key:"Do_not_erase_const_enum_declarations_in_generated_code_6007",message:"Do not erase const enum declarations in generated code."},Do_not_emit_outputs_if_any_errors_were_reported:{code:6008,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_if_any_errors_were_reported_6008",message:"Do not emit outputs if any errors were reported."},Do_not_emit_comments_to_output:{code:6009,category:e.DiagnosticCategory.Message,key:"Do_not_emit_comments_to_output_6009",message:"Do not emit comments to output."},Do_not_emit_outputs:{code:6010,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_6010",message:"Do not emit outputs."},Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:{code:6011,category:e.DiagnosticCategory.Message,key:"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011",message:"Allow default imports from modules with no default export. This does not affect code emit, just typechecking."},Skip_type_checking_of_declaration_files:{code:6012,category:e.DiagnosticCategory.Message,key:"Skip_type_checking_of_declaration_files_6012",message:"Skip type checking of declaration files."},Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015:{code:6015,category:e.DiagnosticCategory.Message,key:"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015_6015",message:"Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES2015'"},Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015:{code:6016,category:e.DiagnosticCategory.Message,key:"Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015_6016",message:"Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'"},Print_this_message:{code:6017,category:e.DiagnosticCategory.Message,key:"Print_this_message_6017",message:"Print this message."},Print_the_compiler_s_version:{code:6019,category:e.DiagnosticCategory.Message,key:"Print_the_compiler_s_version_6019",message:"Print the compiler's version."},Compile_the_project_in_the_given_directory:{code:6020,category:e.DiagnosticCategory.Message,key:"Compile_the_project_in_the_given_directory_6020",message:"Compile the project in the given directory."},Syntax_Colon_0:{code:6023,category:e.DiagnosticCategory.Message,key:"Syntax_Colon_0_6023",message:"Syntax: {0}"},options:{code:6024,category:e.DiagnosticCategory.Message,key:"options_6024",message:"options"},file:{code:6025,category:e.DiagnosticCategory.Message,key:"file_6025",message:"file"},Examples_Colon_0:{code:6026,category:e.DiagnosticCategory.Message,key:"Examples_Colon_0_6026",message:"Examples: {0}"},Options_Colon:{code:6027,category:e.DiagnosticCategory.Message,key:"Options_Colon_6027",message:"Options:"},Version_0:{code:6029,category:e.DiagnosticCategory.Message,key:"Version_0_6029",message:"Version {0}"},Insert_command_line_options_and_files_from_a_file:{code:6030,category:e.DiagnosticCategory.Message,key:"Insert_command_line_options_and_files_from_a_file_6030",message:"Insert command line options and files from a file."},File_change_detected_Starting_incremental_compilation:{code:6032,category:e.DiagnosticCategory.Message,key:"File_change_detected_Starting_incremental_compilation_6032",message:"File change detected. Starting incremental compilation..."},KIND:{code:6034,category:e.DiagnosticCategory.Message,key:"KIND_6034",message:"KIND"},FILE:{code:6035,category:e.DiagnosticCategory.Message,key:"FILE_6035",message:"FILE"},VERSION:{code:6036,category:e.DiagnosticCategory.Message,key:"VERSION_6036",message:"VERSION"},LOCATION:{code:6037,category:e.DiagnosticCategory.Message,key:"LOCATION_6037",message:"LOCATION"},DIRECTORY:{code:6038,category:e.DiagnosticCategory.Message,key:"DIRECTORY_6038",message:"DIRECTORY"},Compilation_complete_Watching_for_file_changes:{code:6042,category:e.DiagnosticCategory.Message,key:"Compilation_complete_Watching_for_file_changes_6042",message:"Compilation complete. Watching for file changes."},Generates_corresponding_map_file:{code:6043,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_map_file_6043",message:"Generates corresponding '.map' file."},Compiler_option_0_expects_an_argument:{code:6044,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_expects_an_argument_6044",message:"Compiler option '{0}' expects an argument."},Unterminated_quoted_string_in_response_file_0:{code:6045,category:e.DiagnosticCategory.Error,key:"Unterminated_quoted_string_in_response_file_0_6045",message:"Unterminated quoted string in response file '{0}'."},Argument_for_0_option_must_be_Colon_1:{code:6046,category:e.DiagnosticCategory.Error,key:"Argument_for_0_option_must_be_Colon_1_6046",message:"Argument for '{0}' option must be: {1}"},Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:{code:6048,category:e.DiagnosticCategory.Error,key:"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048",message:"Locale must be of the form or -. For example '{0}' or '{1}'."},Unsupported_locale_0:{code:6049,category:e.DiagnosticCategory.Error,key:"Unsupported_locale_0_6049",message:"Unsupported locale '{0}'."},Unable_to_open_file_0:{code:6050,category:e.DiagnosticCategory.Error,key:"Unable_to_open_file_0_6050",message:"Unable to open file '{0}'."},Corrupted_locale_file_0:{code:6051,category:e.DiagnosticCategory.Error,key:"Corrupted_locale_file_0_6051",message:"Corrupted locale file {0}."},Raise_error_on_expressions_and_declarations_with_an_implied_any_type:{code:6052,category:e.DiagnosticCategory.Message,key:"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052",message:"Raise error on expressions and declarations with an implied 'any' type."},File_0_not_found:{code:6053,category:e.DiagnosticCategory.Error,key:"File_0_not_found_6053",message:"File '{0}' not found."},File_0_has_unsupported_extension_The_only_supported_extensions_are_1:{code:6054,category:e.DiagnosticCategory.Error,key:"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054",message:"File '{0}' has unsupported extension. The only supported extensions are {1}."},Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:{code:6055,category:e.DiagnosticCategory.Message,key:"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055",message:"Suppress noImplicitAny errors for indexing objects lacking index signatures."},Do_not_emit_declarations_for_code_that_has_an_internal_annotation:{code:6056,category:e.DiagnosticCategory.Message,key:"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056",message:"Do not emit declarations for code that has an '@internal' annotation."},Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:{code:6058,category:e.DiagnosticCategory.Message,key:"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058",message:"Specify the root directory of input files. Use to control the output directory structure with --outDir."},File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:{code:6059,category:e.DiagnosticCategory.Error,key:"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059",message:"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."},Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:{code:6060,category:e.DiagnosticCategory.Message,key:"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060",message:"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."},NEWLINE:{code:6061,category:e.DiagnosticCategory.Message,key:"NEWLINE_6061",message:"NEWLINE"},Option_0_can_only_be_specified_in_tsconfig_json_file:{code:6064,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_specified_in_tsconfig_json_file_6064",message:"Option '{0}' can only be specified in 'tsconfig.json' file."},Enables_experimental_support_for_ES7_decorators:{code:6065,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_decorators_6065",message:"Enables experimental support for ES7 decorators."},Enables_experimental_support_for_emitting_type_metadata_for_decorators:{code:6066,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066",message:"Enables experimental support for emitting type metadata for decorators."},Enables_experimental_support_for_ES7_async_functions:{code:6068,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_async_functions_6068",message:"Enables experimental support for ES7 async functions."},Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:{code:6069,category:e.DiagnosticCategory.Message,key:"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069",message:"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."},Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:{code:6070,category:e.DiagnosticCategory.Message,key:"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070",message:"Initializes a TypeScript project and creates a tsconfig.json file."},Successfully_created_a_tsconfig_json_file:{code:6071,category:e.DiagnosticCategory.Message,key:"Successfully_created_a_tsconfig_json_file_6071",message:"Successfully created a tsconfig.json file."},Suppress_excess_property_checks_for_object_literals:{code:6072,category:e.DiagnosticCategory.Message,key:"Suppress_excess_property_checks_for_object_literals_6072",message:"Suppress excess property checks for object literals."},Stylize_errors_and_messages_using_color_and_context_experimental:{code:6073,category:e.DiagnosticCategory.Message,key:"Stylize_errors_and_messages_using_color_and_context_experimental_6073",message:"Stylize errors and messages using color and context. (experimental)"},Do_not_report_errors_on_unused_labels:{code:6074,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unused_labels_6074",message:"Do not report errors on unused labels."},Report_error_when_not_all_code_paths_in_function_return_a_value:{code:6075,category:e.DiagnosticCategory.Message,key:"Report_error_when_not_all_code_paths_in_function_return_a_value_6075",message:"Report error when not all code paths in function return a value."},Report_errors_for_fallthrough_cases_in_switch_statement:{code:6076,category:e.DiagnosticCategory.Message,key:"Report_errors_for_fallthrough_cases_in_switch_statement_6076",message:"Report errors for fallthrough cases in switch statement."},Do_not_report_errors_on_unreachable_code:{code:6077,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unreachable_code_6077",message:"Do not report errors on unreachable code."},Disallow_inconsistently_cased_references_to_the_same_file:{code:6078,category:e.DiagnosticCategory.Message,key:"Disallow_inconsistently_cased_references_to_the_same_file_6078",message:"Disallow inconsistently-cased references to the same file."},Specify_library_files_to_be_included_in_the_compilation_Colon:{code:6079,category:e.DiagnosticCategory.Message,key:"Specify_library_files_to_be_included_in_the_compilation_Colon_6079",message:"Specify library files to be included in the compilation: "},Specify_JSX_code_generation_Colon_preserve_or_react:{code:6080,category:e.DiagnosticCategory.Message,key:"Specify_JSX_code_generation_Colon_preserve_or_react_6080",message:"Specify JSX code generation: 'preserve' or 'react'"},Only_amd_and_system_modules_are_supported_alongside_0:{code:6082,category:e.DiagnosticCategory.Error,key:"Only_amd_and_system_modules_are_supported_alongside_0_6082",message:"Only 'amd' and 'system' modules are supported alongside --{0}."},Base_directory_to_resolve_non_absolute_module_names:{code:6083,category:e.DiagnosticCategory.Message,key:"Base_directory_to_resolve_non_absolute_module_names_6083",message:"Base directory to resolve non-absolute module names."},Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit:{code:6084,category:e.DiagnosticCategory.Message,key:"Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit_6084",message:"Specify the object invoked for createElement and __spread when targeting 'react' JSX emit"},Enable_tracing_of_the_name_resolution_process:{code:6085,category:e.DiagnosticCategory.Message,key:"Enable_tracing_of_the_name_resolution_process_6085",message:"Enable tracing of the name resolution process."},Resolving_module_0_from_1:{code:6086,category:e.DiagnosticCategory.Message,key:"Resolving_module_0_from_1_6086",message:"======== Resolving module '{0}' from '{1}'. ========"},Explicitly_specified_module_resolution_kind_Colon_0:{code:6087,category:e.DiagnosticCategory.Message,key:"Explicitly_specified_module_resolution_kind_Colon_0_6087",message:"Explicitly specified module resolution kind: '{0}'."},Module_resolution_kind_is_not_specified_using_0:{code:6088,category:e.DiagnosticCategory.Message,key:"Module_resolution_kind_is_not_specified_using_0_6088",message:"Module resolution kind is not specified, using '{0}'."},Module_name_0_was_successfully_resolved_to_1:{code:6089,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_successfully_resolved_to_1_6089",message:"======== Module name '{0}' was successfully resolved to '{1}'. ========"},Module_name_0_was_not_resolved:{code:6090,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_not_resolved_6090",message:"======== Module name '{0}' was not resolved. ========"},paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:{code:6091,category:e.DiagnosticCategory.Message,key:"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091",message:"'paths' option is specified, looking for a pattern to match module name '{0}'."},Module_name_0_matched_pattern_1:{code:6092,category:e.DiagnosticCategory.Message,key:"Module_name_0_matched_pattern_1_6092",message:"Module name '{0}', matched pattern '{1}'."},Trying_substitution_0_candidate_module_location_Colon_1:{code:6093,category:e.DiagnosticCategory.Message,key:"Trying_substitution_0_candidate_module_location_Colon_1_6093",message:"Trying substitution '{0}', candidate module location: '{1}'."},Resolving_module_name_0_relative_to_base_url_1_2:{code:6094,category:e.DiagnosticCategory.Message,key:"Resolving_module_name_0_relative_to_base_url_1_2_6094",message:"Resolving module name '{0}' relative to base url '{1}' - '{2}'."},Loading_module_as_file_Slash_folder_candidate_module_location_0:{code:6095,category:e.DiagnosticCategory.Message,key:"Loading_module_as_file_Slash_folder_candidate_module_location_0_6095",message:"Loading module as file / folder, candidate module location '{0}'."},File_0_does_not_exist:{code:6096,category:e.DiagnosticCategory.Message,key:"File_0_does_not_exist_6096",message:"File '{0}' does not exist."},File_0_exist_use_it_as_a_name_resolution_result:{code:6097,category:e.DiagnosticCategory.Message,key:"File_0_exist_use_it_as_a_name_resolution_result_6097",message:"File '{0}' exist - use it as a name resolution result."},Loading_module_0_from_node_modules_folder:{code:6098,category:e.DiagnosticCategory.Message,key:"Loading_module_0_from_node_modules_folder_6098",message:"Loading module '{0}' from 'node_modules' folder."},Found_package_json_at_0:{code:6099,category:e.DiagnosticCategory.Message,key:"Found_package_json_at_0_6099",message:"Found 'package.json' at '{0}'."},package_json_does_not_have_types_field:{code:6100,category:e.DiagnosticCategory.Message,key:"package_json_does_not_have_types_field_6100",message:"'package.json' does not have 'types' field."},package_json_has_0_field_1_that_references_2:{code:6101,category:e.DiagnosticCategory.Message,key:"package_json_has_0_field_1_that_references_2_6101",message:"'package.json' has '{0}' field '{1}' that references '{2}'."},Allow_javascript_files_to_be_compiled:{code:6102,category:e.DiagnosticCategory.Message,key:"Allow_javascript_files_to_be_compiled_6102",message:"Allow javascript files to be compiled."},Option_0_should_have_array_of_strings_as_a_value:{code:6103,category:e.DiagnosticCategory.Error,key:"Option_0_should_have_array_of_strings_as_a_value_6103",message:"Option '{0}' should have array of strings as a value."},Checking_if_0_is_the_longest_matching_prefix_for_1_2:{code:6104,category:e.DiagnosticCategory.Message,key:"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104",message:"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."},Expected_type_of_0_field_in_package_json_to_be_string_got_1:{code:6105,category:e.DiagnosticCategory.Message,key:"Expected_type_of_0_field_in_package_json_to_be_string_got_1_6105",message:"Expected type of '{0}' field in 'package.json' to be 'string', got '{1}'."},baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:{code:6106,category:e.DiagnosticCategory.Message,key:"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106",message:"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'"},rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:{code:6107,category:e.DiagnosticCategory.Message,key:"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107",message:"'rootDirs' option is set, using it to resolve relative module name '{0}'"},Longest_matching_prefix_for_0_is_1:{code:6108,category:e.DiagnosticCategory.Message,key:"Longest_matching_prefix_for_0_is_1_6108",message:"Longest matching prefix for '{0}' is '{1}'"},Loading_0_from_the_root_dir_1_candidate_location_2:{code:6109,category:e.DiagnosticCategory.Message,key:"Loading_0_from_the_root_dir_1_candidate_location_2_6109",message:"Loading '{0}' from the root dir '{1}', candidate location '{2}'"},Trying_other_entries_in_rootDirs:{code:6110,category:e.DiagnosticCategory.Message,key:"Trying_other_entries_in_rootDirs_6110",message:"Trying other entries in 'rootDirs'"},Module_resolution_using_rootDirs_has_failed:{code:6111,category:e.DiagnosticCategory.Message,key:"Module_resolution_using_rootDirs_has_failed_6111",message:"Module resolution using 'rootDirs' has failed"},Do_not_emit_use_strict_directives_in_module_output:{code:6112,category:e.DiagnosticCategory.Message,key:"Do_not_emit_use_strict_directives_in_module_output_6112",message:"Do not emit 'use strict' directives in module output."},Enable_strict_null_checks:{code:6113,category:e.DiagnosticCategory.Message,key:"Enable_strict_null_checks_6113",message:"Enable strict null checks."},Unknown_option_excludes_Did_you_mean_exclude:{code:6114,category:e.DiagnosticCategory.Error,key:"Unknown_option_excludes_Did_you_mean_exclude_6114",message:"Unknown option 'excludes'. Did you mean 'exclude'?"},Raise_error_on_this_expressions_with_an_implied_any_type:{code:6115,category:e.DiagnosticCategory.Message,key:"Raise_error_on_this_expressions_with_an_implied_any_type_6115",message:"Raise error on 'this' expressions with an implied 'any' type."},Resolving_type_reference_directive_0_containing_file_1_root_directory_2:{code:6116,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"},Resolving_using_primary_search_paths:{code:6117,category:e.DiagnosticCategory.Message,key:"Resolving_using_primary_search_paths_6117",message:"Resolving using primary search paths..."},Resolving_from_node_modules_folder:{code:6118,category:e.DiagnosticCategory.Message,key:"Resolving_from_node_modules_folder_6118",message:"Resolving from node_modules folder..."},Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:{code:6119,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119",message:"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"},Type_reference_directive_0_was_not_resolved:{code:6120,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_not_resolved_6120",message:"======== Type reference directive '{0}' was not resolved. ========"},Resolving_with_primary_search_path_0:{code:6121,category:e.DiagnosticCategory.Message,key:"Resolving_with_primary_search_path_0_6121",message:"Resolving with primary search path '{0}'"},Root_directory_cannot_be_determined_skipping_primary_search_paths:{code:6122,category:e.DiagnosticCategory.Message,key:"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122",message:"Root directory cannot be determined, skipping primary search paths."},Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:{code:6123,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"},Type_declaration_files_to_be_included_in_compilation:{code:6124,category:e.DiagnosticCategory.Message,key:"Type_declaration_files_to_be_included_in_compilation_6124",message:"Type declaration files to be included in compilation."},Looking_up_in_node_modules_folder_initial_location_0:{code:6125,category:e.DiagnosticCategory.Message,key:"Looking_up_in_node_modules_folder_initial_location_0_6125",message:"Looking up in 'node_modules' folder, initial location '{0}'"},Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:{code:6126,category:e.DiagnosticCategory.Message,key:"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126",message:"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:{code:6127,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127",message:"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:{code:6128,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128",message:"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"},The_config_file_0_found_doesn_t_contain_any_source_files:{code:6129,category:e.DiagnosticCategory.Error,key:"The_config_file_0_found_doesn_t_contain_any_source_files_6129",message:"The config file '{0}' found doesn't contain any source files."},Resolving_real_path_for_0_result_1:{code:6130,category:e.DiagnosticCategory.Message,key:"Resolving_real_path_for_0_result_1_6130",message:"Resolving real path for '{0}', result '{1}'"},Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:{code:6131,category:e.DiagnosticCategory.Error,key:"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131",message:"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."},File_name_0_has_a_1_extension_stripping_it:{code:6132,category:e.DiagnosticCategory.Message,key:"File_name_0_has_a_1_extension_stripping_it_6132",message:"File name '{0}' has a '{1}' extension - stripping it"},_0_is_declared_but_never_used:{code:6133,category:e.DiagnosticCategory.Error,key:"_0_is_declared_but_never_used_6133",message:"'{0}' is declared but never used."},Report_Errors_on_Unused_Locals:{code:6134,category:e.DiagnosticCategory.Message,key:"Report_Errors_on_Unused_Locals_6134",message:"Report Errors on Unused Locals."},Report_Errors_on_Unused_Parameters:{code:6135,category:e.DiagnosticCategory.Message,key:"Report_Errors_on_Unused_Parameters_6135",message:"Report Errors on Unused Parameters."},The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:{code:6136,category:e.DiagnosticCategory.Message,key:"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136",message:"The maximum dependency depth to search under node_modules and load JavaScript files"},No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0:{code:6137,category:e.DiagnosticCategory.Message,key:"No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0_6137",message:"No types specified in 'package.json' but 'allowJs' is set, so returning 'main' value of '{0}'"},Variable_0_implicitly_has_an_1_type:{code:7005,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_an_1_type_7005",message:"Variable '{0}' implicitly has an '{1}' type."},Parameter_0_implicitly_has_an_1_type:{code:7006,category:e.DiagnosticCategory.Error,key:"Parameter_0_implicitly_has_an_1_type_7006",message:"Parameter '{0}' implicitly has an '{1}' type."},Member_0_implicitly_has_an_1_type:{code:7008,category:e.DiagnosticCategory.Error,key:"Member_0_implicitly_has_an_1_type_7008",message:"Member '{0}' implicitly has an '{1}' type."},new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:{code:7009,category:e.DiagnosticCategory.Error,key:"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009",message:"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."},_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:{code:7010,category:e.DiagnosticCategory.Error,key:"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010",message:"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."},Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:{code:7011,category:e.DiagnosticCategory.Error,key:"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011",message:"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."},Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7013,category:e.DiagnosticCategory.Error,key:"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013",message:"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."},Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:{code:7015,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015",message:"Element implicitly has an 'any' type because index expression is not of type 'number'."},Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation:{code:7016,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation_7016",message:"Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation."},Index_signature_of_object_type_implicitly_has_an_any_type:{code:7017,category:e.DiagnosticCategory.Error,key:"Index_signature_of_object_type_implicitly_has_an_any_type_7017",message:"Index signature of object type implicitly has an 'any' type."},Object_literal_s_property_0_implicitly_has_an_1_type:{code:7018,category:e.DiagnosticCategory.Error,key:"Object_literal_s_property_0_implicitly_has_an_1_type_7018",message:"Object literal's property '{0}' implicitly has an '{1}' type."},Rest_parameter_0_implicitly_has_an_any_type:{code:7019,category:e.DiagnosticCategory.Error,key:"Rest_parameter_0_implicitly_has_an_any_type_7019",message:"Rest parameter '{0}' implicitly has an 'any[]' type."},Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7020,category:e.DiagnosticCategory.Error,key:"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020",message:"Call signature, which lacks return-type annotation, implicitly has an 'any' return type."},_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:{code:7022,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022",message:"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."},_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7023,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023",message:"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7024,category:e.DiagnosticCategory.Error,key:"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024",message:"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:{code:7025,category:e.DiagnosticCategory.Error,key:"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025",message:"Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."},JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:{code:7026,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026",message:"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists"},Unreachable_code_detected:{code:7027,category:e.DiagnosticCategory.Error,key:"Unreachable_code_detected_7027",message:"Unreachable code detected."},Unused_label:{code:7028,category:e.DiagnosticCategory.Error,key:"Unused_label_7028",message:"Unused label."},Fallthrough_case_in_switch:{code:7029,category:e.DiagnosticCategory.Error,key:"Fallthrough_case_in_switch_7029",message:"Fallthrough case in switch."},Not_all_code_paths_return_a_value:{code:7030,category:e.DiagnosticCategory.Error,key:"Not_all_code_paths_return_a_value_7030",message:"Not all code paths return a value."},Binding_element_0_implicitly_has_an_1_type:{code:7031,category:e.DiagnosticCategory.Error,key:"Binding_element_0_implicitly_has_an_1_type_7031",message:"Binding element '{0}' implicitly has an '{1}' type."},You_cannot_rename_this_element:{code:8e3,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_this_element_8000",message:"You cannot rename this element."},You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:{code:8001,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001",message:"You cannot rename elements that are defined in the standard TypeScript library."},import_can_only_be_used_in_a_ts_file:{code:8002,category:e.DiagnosticCategory.Error,key:"import_can_only_be_used_in_a_ts_file_8002",message:"'import ... =' can only be used in a .ts file."},export_can_only_be_used_in_a_ts_file:{code:8003,category:e.DiagnosticCategory.Error,key:"export_can_only_be_used_in_a_ts_file_8003",message:"'export=' can only be used in a .ts file."},type_parameter_declarations_can_only_be_used_in_a_ts_file:{code:8004,category:e.DiagnosticCategory.Error,key:"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004",message:"'type parameter declarations' can only be used in a .ts file."},implements_clauses_can_only_be_used_in_a_ts_file:{code:8005,category:e.DiagnosticCategory.Error,key:"implements_clauses_can_only_be_used_in_a_ts_file_8005",message:"'implements clauses' can only be used in a .ts file."},interface_declarations_can_only_be_used_in_a_ts_file:{code:8006,category:e.DiagnosticCategory.Error,key:"interface_declarations_can_only_be_used_in_a_ts_file_8006",message:"'interface declarations' can only be used in a .ts file."},module_declarations_can_only_be_used_in_a_ts_file:{code:8007,category:e.DiagnosticCategory.Error,key:"module_declarations_can_only_be_used_in_a_ts_file_8007",message:"'module declarations' can only be used in a .ts file."},type_aliases_can_only_be_used_in_a_ts_file:{code:8008,category:e.DiagnosticCategory.Error,key:"type_aliases_can_only_be_used_in_a_ts_file_8008",message:"'type aliases' can only be used in a .ts file."},_0_can_only_be_used_in_a_ts_file:{code:8009,category:e.DiagnosticCategory.Error,key:"_0_can_only_be_used_in_a_ts_file_8009",message:"'{0}' can only be used in a .ts file."},types_can_only_be_used_in_a_ts_file:{code:8010,category:e.DiagnosticCategory.Error,key:"types_can_only_be_used_in_a_ts_file_8010",message:"'types' can only be used in a .ts file."},type_arguments_can_only_be_used_in_a_ts_file:{code:8011,category:e.DiagnosticCategory.Error,key:"type_arguments_can_only_be_used_in_a_ts_file_8011",message:"'type arguments' can only be used in a .ts file."},parameter_modifiers_can_only_be_used_in_a_ts_file:{code:8012,category:e.DiagnosticCategory.Error,key:"parameter_modifiers_can_only_be_used_in_a_ts_file_8012",message:"'parameter modifiers' can only be used in a .ts file."},enum_declarations_can_only_be_used_in_a_ts_file:{code:8015,category:e.DiagnosticCategory.Error,key:"enum_declarations_can_only_be_used_in_a_ts_file_8015",message:"'enum declarations' can only be used in a .ts file."},type_assertion_expressions_can_only_be_used_in_a_ts_file:{code:8016,category:e.DiagnosticCategory.Error,key:"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016",message:"'type assertion expressions' can only be used in a .ts file."},Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clauses:{code:9002,category:e.DiagnosticCategory.Error,key:"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002",message:"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clauses."},class_expressions_are_not_currently_supported:{code:9003,category:e.DiagnosticCategory.Error,key:"class_expressions_are_not_currently_supported_9003",message:"'class' expressions are not currently supported."},JSX_attributes_must_only_be_assigned_a_non_empty_expression:{code:17e3,category:e.DiagnosticCategory.Error,key:"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000",message:"JSX attributes must only be assigned a non-empty 'expression'."},JSX_elements_cannot_have_multiple_attributes_with_the_same_name:{code:17001,category:e.DiagnosticCategory.Error,key:"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001",message:"JSX elements cannot have multiple attributes with the same name."},Expected_corresponding_JSX_closing_tag_for_0:{code:17002,category:e.DiagnosticCategory.Error,key:"Expected_corresponding_JSX_closing_tag_for_0_17002",message:"Expected corresponding JSX closing tag for '{0}'."},JSX_attribute_expected:{code:17003,category:e.DiagnosticCategory.Error,key:"JSX_attribute_expected_17003",message:"JSX attribute expected."},Cannot_use_JSX_unless_the_jsx_flag_is_provided:{code:17004,category:e.DiagnosticCategory.Error,key:"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004",message:"Cannot use JSX unless the '--jsx' flag is provided."},A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:{code:17005,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005",message:"A constructor cannot contain a 'super' call when its class extends 'null'"},An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17006,category:e.DiagnosticCategory.Error,key:"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006",message:"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17007,category:e.DiagnosticCategory.Error,key:"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007",message:"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},JSX_element_0_has_no_corresponding_closing_tag:{code:17008,category:e.DiagnosticCategory.Error,key:"JSX_element_0_has_no_corresponding_closing_tag_17008",message:"JSX element '{0}' has no corresponding closing tag."},super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:{code:17009,category:e.DiagnosticCategory.Error,key:"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009",message:"'super' must be called before accessing 'this' in the constructor of a derived class."},Unknown_typing_option_0:{code:17010,category:e.DiagnosticCategory.Error,key:"Unknown_typing_option_0_17010",message:"Unknown typing option '{0}'."}}})(l||(l={}));var l;(function(e){function tokenIsIdentifierOrKeyword(e){return e>=69}e.tokenIsIdentifierOrKeyword=tokenIsIdentifierOrKeyword;var t={abstract:115,any:117,as:116,boolean:120,break:70,case:71,catch:72,class:73,continue:75,const:74,constructor:121,debugger:76,declare:122,default:77,delete:78,do:79,else:80,enum:81,export:82,extends:83,false:84,finally:85,for:86,from:136,function:87,get:123,if:88,implements:106,import:89,in:90,instanceof:91,interface:107,is:124,let:108,module:125,namespace:126,never:127,new:92,null:93,number:130,package:109,private:110,protected:111,public:112,readonly:128,require:129,global:137,return:94,set:131,static:113,string:132,super:95,switch:96,symbol:133,this:97,throw:98,true:99,try:100,type:134,typeof:101,undefined:135,var:102,void:103,while:104,with:105,yield:114,async:118,await:119,of:138,"{":15,"}":16,"(":17,")":18,"[":19,"]":20,".":21,"...":22,";":23,",":24,"<":25,">":27,"<=":28,">=":29,"==":30,"!=":31,"===":32,"!==":33,"=>":34,"+":35,"-":36,"**":38,"*":37,"/":39,"%":40,"++":41,"--":42,"<<":43,">":44,">>>":45,"&":46,"|":47,"^":48,"!":49,"~":50,"&&":51,"||":52,"?":53,":":54,"=":56,"+=":57,"-=":58,"*=":59,"**=":60,"/=":61,"%=":62,"<<=":63,">>=":64,">>>=":65,"&=":66,"|=":67,"^=":68,"@":55};var r=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var n=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500];var a=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var i=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];function lookupInUnicodeMap(e,t){if(e=1?a:r)}e.isUnicodeIdentifierStart=isUnicodeIdentifierStart;function isUnicodeIdentifierPart(e,t){return lookupInUnicodeMap(e,t>=1?i:n)}function makeReverseMap(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}var o=makeReverseMap(t);function tokenToString(e){return o[e]}e.tokenToString=tokenToString;function stringToToken(e){return t[e]}e.stringToToken=stringToToken;function computeLineStarts(e){var t=new Array;var r=0;var n=0;while(r127&&isLineBreak(a)){t.push(n);n=r}break}}t.push(n);return t}e.computeLineStarts=computeLineStarts;function getPositionOfLineAndCharacter(e,t,r){return computePositionOfLineAndCharacter(getLineStarts(e),t,r)}e.getPositionOfLineAndCharacter=getPositionOfLineAndCharacter;function computePositionOfLineAndCharacter(t,r,n){e.Debug.assert(r>=0&&r=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}e.isWhiteSpaceSingleLine=isWhiteSpaceSingleLine;function isLineBreak(e){return 10===e||13===e||8232===e||8233===e}e.isLineBreak=isLineBreak;function isDigit(e){return e>=48&&e<=57}function isOctalDigit(e){return e>=48&&e<=55}e.isOctalDigit=isOctalDigit;function couldStartTrivia(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 61:case 62:return true;case 35:return 0===t;default:return r>127}}e.couldStartTrivia=couldStartTrivia;function skipTrivia(e,t,r,n){void 0===n&&(n=false);if(!(t>=0))return t;while(true){var a=e.charCodeAt(t);switch(a){case 13:10===e.charCodeAt(t+1)&&t++;case 10:t++;if(r)return t;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(n)break;if(47===e.charCodeAt(t+1)){t+=2;while(t127&&isWhiteSpace(a)){t++;continue}break}return t}}e.skipTrivia=skipTrivia;var c="<<<<<<<".length;function isConflictMarkerTrivia(t,r){e.Debug.assert(r>=0);if(0===r||isLineBreak(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+c127&&isWhiteSpace(o)){a&&a.length&&isLineBreak(o)&&(e.lastOrUndefined(a).hasTrailingNewLine=true);r++;continue}break}return a}return a}function getLeadingCommentRanges(e,t){return getCommentRanges(e,t,false)}e.getLeadingCommentRanges=getLeadingCommentRanges;function getTrailingCommentRanges(e,t){return getCommentRanges(e,t,true)}e.getTrailingCommentRanges=getTrailingCommentRanges;function getShebang(e){return l.test(e)?l.exec(e)[0]:void 0}e.getShebang=getShebang;function isIdentifierStart(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&isUnicodeIdentifierStart(e,t)}e.isIdentifierStart=isIdentifierStart;function isIdentifierPart(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&isUnicodeIdentifierPart(e,t)}e.isIdentifierPart=isIdentifierPart;function isIdentifier(e,t){if(!isIdentifierStart(e.charCodeAt(0),t))return false;for(var r=1,n=e.length;r105},isReservedWord:function(){return m>=70&&m<=105},isUnterminated:function(){return h},reScanGreaterToken:reScanGreaterToken,reScanSlashToken:reScanSlashToken,reScanTemplateToken:reScanTemplateToken,scanJsxIdentifier:scanJsxIdentifier,reScanJsxToken:reScanJsxToken,scanJsxToken:scanJsxToken,scanJSDocToken:scanJSDocToken,scan:scan,getText:getText,setText:setText,setScriptTarget:setScriptTarget,setLanguageVariant:setLanguageVariant,setOnError:setOnError,setTextPos:setTextPos,tryScan:tryScan,lookAhead:lookAhead,scanRange:scanRange};function error(e,t){o&&o(e,t||0)}function scanNumber(){var t=u;while(isDigit(i.charCodeAt(u)))u++;if(46===i.charCodeAt(u)){u++;while(isDigit(i.charCodeAt(u)))u++}var r=u;if(69===i.charCodeAt(u)||101===i.charCodeAt(u)){u++;43!==i.charCodeAt(u)&&45!==i.charCodeAt(u)||u++;if(isDigit(i.charCodeAt(u))){u++;while(isDigit(i.charCodeAt(u)))u++;r=u}else error(e.Diagnostics.Digit_expected)}return""+ +i.substring(t,r)}function scanOctalDigits(){var e=u;while(isOctalDigit(i.charCodeAt(u)))u++;return+i.substring(e,u)}function scanExactNumberOfHexDigits(e){return scanHexDigits(e,false)}function scanMinimumNumberOfHexDigits(e){return scanHexDigits(e,true)}function scanHexDigits(e,t){var r=0;var n=0;while(r=48&&a<=57)n=16*n+a-48;else if(a>=65&&a<=70)n=16*n+a-65+10;else{if(!(a>=97&&a<=102))break;n=16*n+a-97+10}u++;r++}r=_){r+=i.substring(n,u);h=true;error(e.Diagnostics.Unterminated_string_literal);break}var a=i.charCodeAt(u);if(a===t){r+=i.substring(n,u);u++;break}if(92!==a){if(isLineBreak(a)){r+=i.substring(n,u);h=true;error(e.Diagnostics.Unterminated_string_literal);break}u++}else{r+=i.substring(n,u);r+=scanEscapeSequence();n=u}}return r}function scanTemplateAndSetTokenValue(){var t=96===i.charCodeAt(u);u++;var r=u;var n="";var a;while(true){if(u>=_){n+=i.substring(r,u);h=true;error(e.Diagnostics.Unterminated_template_literal);a=t?11:14;break}var o=i.charCodeAt(u);if(96===o){n+=i.substring(r,u);u++;a=t?11:14;break}if(36===o&&u+1<_&&123===i.charCodeAt(u+1)){n+=i.substring(r,u);u+=2;a=t?12:13;break}if(92!==o)if(13!==o)u++;else{n+=i.substring(r,u);u++;u<_&&10===i.charCodeAt(u)&&u++;n+="\n";r=u}else{n+=i.substring(r,u);n+=scanEscapeSequence();r=u}}e.Debug.assert(void 0!==a);g=n;return a}function scanEscapeSequence(){u++;if(u>=_){error(e.Diagnostics.Unexpected_end_of_text);return""}var t=i.charCodeAt(u);u++;switch(t){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:if(u<_&&123===i.charCodeAt(u)){y=true;u++;return scanExtendedUnicodeEscape()}return scanHexadecimalEscape(4);case 120:return scanHexadecimalEscape(2);case 13:u<_&&10===i.charCodeAt(u)&&u++;case 10:case 8232:case 8233:return"";default:return String.fromCharCode(t)}}function scanHexadecimalEscape(t){var r=scanExactNumberOfHexDigits(t);if(r>=0)return String.fromCharCode(r);error(e.Diagnostics.Hexadecimal_digit_expected);return""}function scanExtendedUnicodeEscape(){var t=scanMinimumNumberOfHexDigits(1);var r=false;if(t<0){error(e.Diagnostics.Hexadecimal_digit_expected);r=true}else if(t>1114111){error(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive);r=true}if(u>=_){error(e.Diagnostics.Unexpected_end_of_text);r=true}else if(125===i.charCodeAt(u))u++;else{error(e.Diagnostics.Unterminated_Unicode_escape_sequence);r=true}return r?"":utf16EncodeAsString(t)}function utf16EncodeAsString(t){e.Debug.assert(0<=t&&t<=1114111);if(t<=65535)return String.fromCharCode(t);var r=Math.floor((t-65536)/1024)+55296;var n=(t-65536)%1024+56320;return String.fromCharCode(r,n)}function peekUnicodeEscape(){if(u+5<_&&117===i.charCodeAt(u+1)){var e=u;u+=2;var t=scanExactNumberOfHexDigits(4);u=e;return t}return-1}function scanIdentifierParts(){var e="";var t=u;while(u<_){var n=i.charCodeAt(u);if(isIdentifierPart(n,r))u++;else{if(92!==n)break;n=peekUnicodeEscape();if(!(n>=0&&isIdentifierPart(n,r)))break;e+=i.substring(t,u);e+=String.fromCharCode(n);u+=6;t=u}}e+=i.substring(t,u);return e}function getIdentifierToken(){var e=g.length;if(e>=2&&e<=11){var r=g.charCodeAt(0);if(r>=97&&r<=122&&s.call(t,g))return m=t[g]}return m=69}function scanBinaryOrOctalDigits(t){e.Debug.assert(2!==t||8!==t,"Expected either base 2 or base 8");var r=0;var n=0;while(true){var a=i.charCodeAt(u);var o=a-48;if(!isDigit(a)||o>=t)break;r=r*t+o;u++;n++}return 0===n?-1:r}function scan(){d=u;y=false;f=false;h=false;while(true){p=u;if(u>=_)return m=1;var t=i.charCodeAt(u);if(35===t&&0===u&&isShebangTrivia(i,u)){u=scanShebangTrivia(i,u);if(n)continue;return m=6}switch(t){case 10:case 13:f=true;if(n){u++;continue}13===t&&u+1<_&&10===i.charCodeAt(u+1)?u+=2:u++;return m=4;case 9:case 11:case 12:case 32:if(n){u++;continue}while(u<_&&isWhiteSpaceSingleLine(i.charCodeAt(u)))u++;return m=5;case 33:if(61===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=33):(u+=2,m=31);u++;return m=49;case 34:case 39:g=scanString();return m=9;case 96:return m=scanTemplateAndSetTokenValue();case 37:if(61===i.charCodeAt(u+1))return u+=2,m=62;u++;return m=40;case 38:if(38===i.charCodeAt(u+1))return u+=2,m=51;if(61===i.charCodeAt(u+1))return u+=2,m=66;u++;return m=46;case 40:u++;return m=17;case 41:u++;return m=18;case 42:if(61===i.charCodeAt(u+1))return u+=2,m=59;if(42===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=60):(u+=2,m=38);u++;return m=37;case 43:if(43===i.charCodeAt(u+1))return u+=2,m=41;if(61===i.charCodeAt(u+1))return u+=2,m=57;u++;return m=35;case 44:u++;return m=24;case 45:if(45===i.charCodeAt(u+1))return u+=2,m=42;if(61===i.charCodeAt(u+1))return u+=2,m=58;u++;return m=36;case 46:if(isDigit(i.charCodeAt(u+1))){g=scanNumber();return m=8}if(46===i.charCodeAt(u+1)&&46===i.charCodeAt(u+2))return u+=3,m=22;u++;return m=21;case 47:if(47===i.charCodeAt(u+1)){u+=2;while(u<_){if(isLineBreak(i.charCodeAt(u)))break;u++}if(n)continue;return m=2}if(42===i.charCodeAt(u+1)){u+=2;var o=false;while(u<_){var s=i.charCodeAt(u);if(42===s&&47===i.charCodeAt(u+1)){u+=2;o=true;break}isLineBreak(s)&&(f=true);u++}o||error(e.Diagnostics.Asterisk_Slash_expected);if(n)continue;h=!o;return m=3}if(61===i.charCodeAt(u+1))return u+=2,m=61;u++;return m=39;case 48:if(u+2<_&&(88===i.charCodeAt(u+1)||120===i.charCodeAt(u+1))){u+=2;var c=scanMinimumNumberOfHexDigits(1);if(c<0){error(e.Diagnostics.Hexadecimal_digit_expected);c=0}g=""+c;return m=8}if(u+2<_&&(66===i.charCodeAt(u+1)||98===i.charCodeAt(u+1))){u+=2;var c=scanBinaryOrOctalDigits(2);if(c<0){error(e.Diagnostics.Binary_digit_expected);c=0}g=""+c;return m=8}if(u+2<_&&(79===i.charCodeAt(u+1)||111===i.charCodeAt(u+1))){u+=2;var c=scanBinaryOrOctalDigits(8);if(c<0){error(e.Diagnostics.Octal_digit_expected);c=0}g=""+c;return m=8}if(u+1<_&&isOctalDigit(i.charCodeAt(u+1))){g=""+scanOctalDigits();return m=8}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:g=scanNumber();return m=8;case 58:u++;return m=54;case 59:u++;return m=23;case 60:if(isConflictMarkerTrivia(i,u)){u=scanConflictMarkerTrivia(i,u,error);if(n)continue;return m=7}if(60===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=63):(u+=2,m=43);if(61===i.charCodeAt(u+1))return u+=2,m=28;if(1===a&&47===i.charCodeAt(u+1)&&42!==i.charCodeAt(u+2))return u+=2,m=26;u++;return m=25;case 61:if(isConflictMarkerTrivia(i,u)){u=scanConflictMarkerTrivia(i,u,error);if(n)continue;return m=7}if(61===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=32):(u+=2,m=30);if(62===i.charCodeAt(u+1))return u+=2,m=34;u++;return m=56;case 62:if(isConflictMarkerTrivia(i,u)){u=scanConflictMarkerTrivia(i,u,error);if(n)continue;return m=7}u++;return m=27;case 63:u++;return m=53;case 91:u++;return m=19;case 93:u++;return m=20;case 94:if(61===i.charCodeAt(u+1))return u+=2,m=68;u++;return m=48;case 123:u++;return m=15;case 124:if(124===i.charCodeAt(u+1))return u+=2,m=52;if(61===i.charCodeAt(u+1))return u+=2,m=67;u++;return m=47;case 125:u++;return m=16;case 126:u++;return m=50;case 64:u++;return m=55;case 92:var l=peekUnicodeEscape();if(l>=0&&isIdentifierStart(l,r)){u+=6;g=String.fromCharCode(l)+scanIdentifierParts();return m=getIdentifierToken()}error(e.Diagnostics.Invalid_character);u++;return m=0;default:if(isIdentifierStart(t,r)){u++;while(u<_&&isIdentifierPart(t=i.charCodeAt(u),r))u++;g=i.substring(p,u);92===t&&(g+=scanIdentifierParts());return m=getIdentifierToken()}if(isWhiteSpaceSingleLine(t)){u++;continue}if(isLineBreak(t)){f=true;u++;continue}error(e.Diagnostics.Invalid_character);u++;return m=0}}}function reScanGreaterToken(){if(27===m){if(62===i.charCodeAt(u)){if(62===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=65):(u+=2,m=45);if(61===i.charCodeAt(u+1))return u+=2,m=64;u++;return m=44}if(61===i.charCodeAt(u)){u++;return m=29}}return m}function reScanSlashToken(){if(39===m||61===m){var t=p+1;var n=false;var a=false;while(true){if(t>=_){h=true;error(e.Diagnostics.Unterminated_regular_expression_literal);break}var o=i.charCodeAt(t);if(isLineBreak(o)){h=true;error(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=false;else{if(47===o&&!a){t++;break}91===o?a=true:92===o?n=true:93===o&&(a=false)}t++}while(t<_&&isIdentifierPart(i.charCodeAt(t),r))t++;u=t;g=i.substring(p,u);m=10}return m}function reScanTemplateToken(){e.Debug.assert(16===m,"'reScanTemplateToken' should only be called on a '}'");u=p;return m=scanTemplateAndSetTokenValue()}function reScanJsxToken(){u=p=d;return m=scanJsxToken()}function scanJsxToken(){d=p=u;if(u>=_)return m=1;var e=i.charCodeAt(u);if(60===e){if(47===i.charCodeAt(u+1)){u+=2;return m=26}u++;return m=25}if(123===e){u++;return m=15}while(u<_){u++;e=i.charCodeAt(u);if(123===e||60===e)break}return m=244}function scanJsxIdentifier(){if(tokenIsIdentifierOrKeyword(m)){var e=u;while(u<_){var t=i.charCodeAt(u);if(45!==t&&!(e===u?isIdentifierStart(t,r):isIdentifierPart(t,r)))break;u++}g+=i.substr(e,u-e)}return m}function scanJSDocToken(){if(u>=_)return m=1;d=u;var e=i.charCodeAt(u);while(u<_){e=i.charCodeAt(u);if(!isWhiteSpaceSingleLine(e))break;u++}p=u;switch(e){case 64:return u+=1,m=55;case 10:case 13:return u+=1,m=4;case 42:return u+=1,m=37;case 123:return u+=1,m=15;case 125:return u+=1,m=16;case 91:return u+=1,m=19;case 93:return u+=1,m=20;case 61:return u+=1,m=56;case 44:return u+=1,m=24}if(isIdentifierStart(e,2)){u++;while(isIdentifierPart(i.charCodeAt(u),2)&&u<_)u++;return m=69}return u+=1,m=0}function speculationHelper(e,t){var r=u;var n=d;var a=p;var i=m;var o=g;var s=f;var c=e();if(!c||t){u=r;d=n;p=a;m=i;g=o;f=s}return c}function scanRange(e,t,r){var n=_;var a=u;var o=d;var s=p;var c=m;var l=f;var v=g;var b=y;var T=h;setText(i,e,t);var k=r();_=n;u=a;d=o;p=s;m=c;f=l;g=v;y=b;h=T;return k}function lookAhead(e){return speculationHelper(e,true)}function tryScan(e){return speculationHelper(e,false)}function getText(){return i}function setText(e,t,r){i=e||"";_=void 0===r?i.length:t+r;setTextPos(t||0)}function setOnError(e){o=e}function setScriptTarget(e){r=e}function setLanguageVariant(e){a=e}function setTextPos(t){e.Debug.assert(t>=0);u=t;d=t;p=t;m=0;f=false;g=void 0;y=false;h=false}}e.createScanner=createScanner})(l||(l={}));var l;(function(e){function getDeclarationOfKind(e,t){var r=e.declarations;if(r)for(var n=0,a=r;n=0);return e.getLineStarts(r)[t]}e.getStartPositionOfLine=getStartPositionOfLine;function nodePosToString(t){var r=getSourceFileOfNode(t);var n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+"("+(n.line+1)+","+(n.character+1)+")"}e.nodePosToString=nodePosToString;function getStartPosOfNode(e){return e.pos}e.getStartPosOfNode=getStartPosOfNode;function getEndLinePosition(t,r){e.Debug.assert(t>=0);var n=e.getLineStarts(r);var a=t;var i=r.text;if(a+1===n.length)return i.length-1;var o=n[a];var s=n[a+1]-1;e.Debug.assert(e.isLineBreak(i.charCodeAt(s)));while(o<=s&&e.isLineBreak(i.charCodeAt(s)))s--;return s}e.getEndLinePosition=getEndLinePosition;function nodeIsMissing(e){return!e||e.pos===e.end&&e.pos>=0&&1!==e.kind}e.nodeIsMissing=nodeIsMissing;function nodeIsPresent(e){return!nodeIsMissing(e)}e.nodeIsPresent=nodeIsPresent;function getTokenPosOfNode(t,r,n){return nodeIsMissing(t)?t.pos:isJSDocNode(t)?e.skipTrivia((r||getSourceFileOfNode(t)).text,t.pos,false,true):n&&t.jsDocComments&&t.jsDocComments.length>0?getTokenPosOfNode(t.jsDocComments[0]):282===t.kind&&t._children.length>0?getTokenPosOfNode(t._children[0],r,n):e.skipTrivia((r||getSourceFileOfNode(t)).text,t.pos)}e.getTokenPosOfNode=getTokenPosOfNode;function isJSDocNode(e){return e.kind>=257&&e.kind<=281}e.isJSDocNode=isJSDocNode;function getNonDecoratorTokenPosOfNode(t,r){return nodeIsMissing(t)||!t.decorators?getTokenPosOfNode(t,r):e.skipTrivia((r||getSourceFileOfNode(t)).text,t.decorators.end)}e.getNonDecoratorTokenPosOfNode=getNonDecoratorTokenPosOfNode;function getSourceTextOfNodeFromSourceFile(t,r,n){void 0===n&&(n=false);if(nodeIsMissing(r))return"";var a=t.text;return a.substring(n?r.pos:e.skipTrivia(a,r.pos),r.end)}e.getSourceTextOfNodeFromSourceFile=getSourceTextOfNodeFromSourceFile;function getTextOfNodeFromSourceText(t,r){return nodeIsMissing(r)?"":t.substring(e.skipTrivia(t,r.pos),r.end)}e.getTextOfNodeFromSourceText=getTextOfNodeFromSourceText;function getTextOfNode(e,t){void 0===t&&(t=false);return getSourceTextOfNodeFromSourceFile(getSourceFileOfNode(e),e,t)}e.getTextOfNode=getTextOfNode;function escapeIdentifier(e){return e.length>=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e}e.escapeIdentifier=escapeIdentifier;function unescapeIdentifier(e){return e.length>=3&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)&&95===e.charCodeAt(2)?e.substr(1):e}e.unescapeIdentifier=unescapeIdentifier;function makeIdentifierFromModuleName(t){return e.getBaseFileName(t).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}e.makeIdentifierFromModuleName=makeIdentifierFromModuleName;function isBlockOrCatchScoped(e){return 0!==(3072&getCombinedNodeFlags(e))||isCatchClauseVariableDeclaration(e)}e.isBlockOrCatchScoped=isBlockOrCatchScoped;function isAmbientModule(e){return e&&225===e.kind&&(9===e.name.kind||isGlobalScopeAugmentation(e))}e.isAmbientModule=isAmbientModule;function isShorthandAmbientModule(e){return 225===e.kind&&!e.body}e.isShorthandAmbientModule=isShorthandAmbientModule;function isBlockScopedContainerTopLevel(e){return 256===e.kind||225===e.kind||isFunctionLike(e)||isFunctionBlock(e)}e.isBlockScopedContainerTopLevel=isBlockScopedContainerTopLevel;function isGlobalScopeAugmentation(e){return!!(131072&e.flags)}e.isGlobalScopeAugmentation=isGlobalScopeAugmentation;function isExternalModuleAugmentation(t){if(!t||!isAmbientModule(t))return false;switch(t.parent.kind){case 256:return e.isExternalModule(t.parent);case 226:return isAmbientModule(t.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return false}e.isExternalModuleAugmentation=isExternalModuleAugmentation;function getEnclosingBlockScopeContainer(e){var t=e.parent;while(t){if(isFunctionLike(t))return t;switch(t.kind){case 256:case 227:case 252:case 225:case 206:case 207:case 208:return t;case 199:if(!isFunctionLike(t.parent))return t}t=t.parent}}e.getEnclosingBlockScopeContainer=getEnclosingBlockScopeContainer;function isCatchClauseVariableDeclaration(e){return e&&218===e.kind&&e.parent&&252===e.parent.kind}e.isCatchClauseVariableDeclaration=isCatchClauseVariableDeclaration;function declarationNameToString(e){return 0===getFullWidth(e)?"(Missing)":getTextOfNode(e)}e.declarationNameToString=declarationNameToString;function createDiagnosticForNode(t,r,n,a,i){var o=getSourceFileOfNode(t);var s=getErrorSpanForNode(o,t);return e.createFileDiagnostic(o,s.start,s.length,r,n,a,i)}e.createDiagnosticForNode=createDiagnosticForNode;function createDiagnosticForNodeFromMessageChain(e,t){var r=getSourceFileOfNode(e);var n=getErrorSpanForNode(r,e);return{file:r,start:n.start,length:n.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText}}e.createDiagnosticForNodeFromMessageChain=createDiagnosticForNodeFromMessageChain;function getSpanOfTokenAtPosition(t,r){var n=e.createScanner(t.languageVersion,true,t.languageVariant,t.text,void 0,r);n.scan();var a=n.getTokenPos();return e.createTextSpanFromBounds(a,n.getTextPos())}e.getSpanOfTokenAtPosition=getSpanOfTokenAtPosition;function getErrorSpanForArrowFunction(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&199===r.body.kind){var a=e.getLineAndCharacterOfPosition(t,r.body.pos).line;var i=e.getLineAndCharacterOfPosition(t,r.body.end).line;if(a/;e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;function isTypeNode(t){if(154<=t.kind&&t.kind<=166)return true;switch(t.kind){case 117:case 130:case 132:case 120:case 133:case 135:case 127:return true;case 103:return 183!==t.parent.kind;case 194:return!isExpressionWithTypeArgumentsInClassExtendsClause(t);case 69:(139===t.parent.kind&&t.parent.right===t||172===t.parent.kind&&t.parent.name===t)&&(t=t.parent);e.Debug.assert(69===t.kind||139===t.kind||172===t.kind,"'node' was expected to be a qualified name, identifier or property access in 'isTypeNode'.");case 139:case 172:case 97:var r=t.parent;if(158===r.kind)return false;if(154<=r.kind&&r.kind<=166)return true;switch(r.kind){case 194:return!isExpressionWithTypeArgumentsInClassExtendsClause(r);case 141:return t===r.constraint;case 145:case 144:case 142:case 218:return t===r.type;case 220:case 179:case 180:case 148:case 147:case 146:case 149:case 150:return t===r.type;case 151:case 152:case 153:return t===r.type;case 177:return t===r.type;case 174:case 175:return r.typeArguments&&e.indexOf(r.typeArguments,t)>=0;case 176:return false}}return false}e.isTypeNode=isTypeNode;function forEachReturnStatement(t,r){return traverse(t);function traverse(t){switch(t.kind){case 211:return r(t);case 227:case 199:case 203:case 204:case 205:case 206:case 207:case 208:case 212:case 213:case 249:case 250:case 214:case 216:case 252:return e.forEachChild(t,traverse)}}}e.forEachReturnStatement=forEachReturnStatement;function forEachYieldExpression(t,r){return traverse(t);function traverse(t){switch(t.kind){case 190:r(t);var n=t.expression;n&&traverse(n);case 224:case 222:case 225:case 223:case 221:case 192:return;default:if(isFunctionLike(t)){var a=t.name;if(a&&140===a.kind){traverse(a.expression);return}}else isTypeNode(t)||e.forEachChild(t,traverse)}}}e.forEachYieldExpression=forEachYieldExpression;function isVariableLike(e){if(e)switch(e.kind){case 169:case 255:case 142:case 253:case 145:case 144:case 254:case 218:return true}return false}e.isVariableLike=isVariableLike;function isAccessor(e){return e&&(149===e.kind||150===e.kind)}e.isAccessor=isAccessor;function isClassLike(e){return e&&(221===e.kind||192===e.kind)}e.isClassLike=isClassLike;function isFunctionLike(e){return e&&isFunctionLikeKind(e.kind)}e.isFunctionLike=isFunctionLike;function isFunctionLikeKind(e){switch(e){case 148:case 179:case 220:case 180:case 147:case 146:case 149:case 150:case 151:case 152:case 153:case 156:case 157:return true}return false}e.isFunctionLikeKind=isFunctionLikeKind;function introducesArgumentsExoticObject(e){switch(e.kind){case 147:case 146:case 148:case 149:case 150:case 220:case 179:return true}return false}e.introducesArgumentsExoticObject=introducesArgumentsExoticObject;function isIterationStatement(e,t){switch(e.kind){case 206:case 207:case 208:case 204:case 205:return true;case 214:return t&&isIterationStatement(e.statement,t)}return false}e.isIterationStatement=isIterationStatement;function isFunctionBlock(e){return e&&199===e.kind&&isFunctionLike(e.parent)}e.isFunctionBlock=isFunctionBlock;function isObjectLiteralMethod(e){return e&&147===e.kind&&171===e.parent.kind}e.isObjectLiteralMethod=isObjectLiteralMethod;function isIdentifierTypePredicate(e){return e&&1===e.kind}e.isIdentifierTypePredicate=isIdentifierTypePredicate;function isThisTypePredicate(e){return e&&0===e.kind}e.isThisTypePredicate=isThisTypePredicate;function getContainingFunction(e){while(true){e=e.parent;if(!e||isFunctionLike(e))return e}}e.getContainingFunction=getContainingFunction;function getContainingClass(e){while(true){e=e.parent;if(!e||isClassLike(e))return e}}e.getContainingClass=getContainingClass;function getThisContainer(e,t){while(true){e=e.parent;if(!e)return;switch(e.kind){case 140:if(isClassLike(e.parent.parent))return e;e=e.parent;break;case 143:142===e.parent.kind&&isClassElement(e.parent.parent)?e=e.parent.parent:isClassElement(e.parent)&&(e=e.parent);break;case 180:if(!t)continue;case 220:case 179:case 225:case 145:case 144:case 147:case 146:case 148:case 149:case 150:case 151:case 152:case 153:case 224:case 256:return e}}}e.getThisContainer=getThisContainer;function getSuperContainer(e,t){while(true){e=e.parent;if(!e)return e;switch(e.kind){case 140:e=e.parent;break;case 220:case 179:case 180:if(!t)continue;case 145:case 144:case 147:case 146:case 148:case 149:case 150:return e;case 143:142===e.parent.kind&&isClassElement(e.parent.parent)?e=e.parent.parent:isClassElement(e.parent)&&(e=e.parent);break}}}e.getSuperContainer=getSuperContainer;function getImmediatelyInvokedFunctionExpression(e){if(179===e.kind||180===e.kind){var t=e;var r=e.parent;while(178===r.kind){t=r;r=r.parent}if(174===r.kind&&r.expression===t)return r}}e.getImmediatelyInvokedFunctionExpression=getImmediatelyInvokedFunctionExpression;function isSuperPropertyOrElementAccess(e){return(172===e.kind||173===e.kind)&&95===e.expression.kind}e.isSuperPropertyOrElementAccess=isSuperPropertyOrElementAccess;function getEntityNameFromTypeNode(e){if(e)switch(e.kind){case 155:return e.typeName;case 194:return e.expression;case 69:case 139:return e}}e.getEntityNameFromTypeNode=getEntityNameFromTypeNode;function getInvokedExpression(e){return 176===e.kind?e.tag:e.expression}e.getInvokedExpression=getInvokedExpression;function nodeCanBeDecorated(e){switch(e.kind){case 221:return true;case 145:return 221===e.parent.kind;case 149:case 150:case 147:return void 0!==e.body&&221===e.parent.kind;case 142:return void 0!==e.parent.body&&(148===e.parent.kind||147===e.parent.kind||150===e.parent.kind)&&221===e.parent.parent.kind}return false}e.nodeCanBeDecorated=nodeCanBeDecorated;function nodeIsDecorated(e){return void 0!==e.decorators&&nodeCanBeDecorated(e)}e.nodeIsDecorated=nodeIsDecorated;function isPropertyAccessExpression(e){return 172===e.kind}e.isPropertyAccessExpression=isPropertyAccessExpression;function isElementAccessExpression(e){return 173===e.kind}e.isElementAccessExpression=isElementAccessExpression;function isJSXTagName(e){var t=e.parent;return(243===t.kind||242===t.kind||245===t.kind)&&t.tagName===e}e.isJSXTagName=isJSXTagName;function isExpression(e){switch(e.kind){case 97:case 95:case 93:case 99:case 84:case 10:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 195:case 177:case 196:case 178:case 179:case 192:case 180:case 183:case 181:case 182:case 185:case 186:case 187:case 188:case 191:case 189:case 11:case 193:case 241:case 242:case 190:case 184:return true;case 139:while(139===e.parent.kind)e=e.parent;return 158===e.parent.kind||isJSXTagName(e);case 69:if(158===e.parent.kind||isJSXTagName(e))return true;case 8:case 9:case 97:var t=e.parent;switch(t.kind){case 218:case 142:case 145:case 144:case 255:case 253:case 169:return t.initializer===e;case 202:case 203:case 204:case 205:case 211:case 212:case 213:case 249:case 215:case 213:return t.expression===e;case 206:var r=t;return r.initializer===e&&219!==r.initializer.kind||r.condition===e||r.incrementor===e;case 207:case 208:var n=t;return n.initializer===e&&219!==n.initializer.kind||n.expression===e;case 177:case 195:return e===t.expression;case 197:return e===t.expression;case 140:return e===t.expression;case 143:case 248:case 247:return true;case 194:return t.expression===e&&isExpressionWithTypeArgumentsInClassExtendsClause(t);default:if(isExpression(t))return true}}return false}e.isExpression=isExpression;function isExternalModuleNameRelative(e){return"./"===e.substr(0,2)||"../"===e.substr(0,3)||".\\"===e.substr(0,2)||"..\\"===e.substr(0,3)}e.isExternalModuleNameRelative=isExternalModuleNameRelative;function isInstantiatedModule(t,r){var n=e.getModuleInstanceState(t);return 1===n||r&&2===n}e.isInstantiatedModule=isInstantiatedModule;function isExternalModuleImportEqualsDeclaration(e){return 229===e.kind&&240===e.moduleReference.kind}e.isExternalModuleImportEqualsDeclaration=isExternalModuleImportEqualsDeclaration;function getExternalModuleImportEqualsDeclarationExpression(t){e.Debug.assert(isExternalModuleImportEqualsDeclaration(t));return t.moduleReference.expression}e.getExternalModuleImportEqualsDeclarationExpression=getExternalModuleImportEqualsDeclarationExpression;function isInternalModuleImportEqualsDeclaration(e){return 229===e.kind&&240!==e.moduleReference.kind}e.isInternalModuleImportEqualsDeclaration=isInternalModuleImportEqualsDeclaration;function isSourceFileJavaScript(e){return isInJavaScriptFile(e)}e.isSourceFileJavaScript=isSourceFileJavaScript;function isInJavaScriptFile(e){return e&&!!(134217728&e.flags)}e.isInJavaScriptFile=isInJavaScriptFile;function isRequireCall(e,t){var r=174===e.kind&&69===e.expression.kind&&"require"===e.expression.text&&1===e.arguments.length;return r&&(!t||9===e.arguments[0].kind)}e.isRequireCall=isRequireCall;function isSingleOrDoubleQuote(e){return 39===e||34===e}e.isSingleOrDoubleQuote=isSingleOrDoubleQuote;function isDeclarationOfFunctionExpression(e){if(e.valueDeclaration&&218===e.valueDeclaration.kind){var t=e.valueDeclaration;return t.initializer&&179===t.initializer.kind}return false}e.isDeclarationOfFunctionExpression=isDeclarationOfFunctionExpression;function getSpecialPropertyAssignmentKind(e){if(!isInJavaScriptFile(e))return 0;if(187!==e.kind)return 0;var t=e;if(56!==t.operatorToken.kind||172!==t.left.kind)return 0;var r=t.left;if(69===r.expression.kind){var n=r.expression;if("exports"===n.text)return 1;if("module"===n.text&&"exports"===r.name.text)return 2}else{if(97===r.expression.kind)return 4;if(172===r.expression.kind){var a=r.expression;if(69===a.expression.kind){var i=a.expression;if("module"===i.text&&"exports"===a.name.text)return 1;if("prototype"===a.name.text)return 3}}}return 0}e.getSpecialPropertyAssignmentKind=getSpecialPropertyAssignmentKind;function getExternalModuleName(e){if(230===e.kind)return e.moduleSpecifier;if(229===e.kind){var t=e.moduleReference;if(240===t.kind)return t.expression}return 236===e.kind?e.moduleSpecifier:225===e.kind&&9===e.name.kind?e.name:void 0}e.getExternalModuleName=getExternalModuleName;function hasQuestionToken(e){if(e)switch(e.kind){case 142:case 147:case 146:case 254:case 253:case 145:case 144:return void 0!==e.questionToken}return false}e.hasQuestionToken=hasQuestionToken;function isJSDocConstructSignature(e){return 269===e.kind&&e.parameters.length>0&&271===e.parameters[0].type.kind}e.isJSDocConstructSignature=isJSDocConstructSignature;function getJSDocTag(e,t,r){if(e){var n=getJSDocComments(e,r);if(n)for(var a=0,i=n;a0?t.types[0]:void 0}e.getClassExtendsHeritageClauseElement=getClassExtendsHeritageClauseElement;function getClassImplementsHeritageClauseElements(e){var t=getHeritageClause(e.heritageClauses,106);return t?t.types:void 0}e.getClassImplementsHeritageClauseElements=getClassImplementsHeritageClauseElements;function getInterfaceBaseTypeNodes(e){var t=getHeritageClause(e.heritageClauses,83);return t?t.types:void 0}e.getInterfaceBaseTypeNodes=getInterfaceBaseTypeNodes;function getHeritageClause(e,t){if(e)for(var r=0,n=e;r/gim;if(n.test(t)){if(a.test(t))return{isNoDefaultLib:true};var i=e.fullTripleSlashReferencePathRegEx.exec(t);var o=!i&&e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx.exec(t);if(i||o){var s=r.pos;var c=r.end;return{fileReference:{pos:s,end:c,fileName:(i||o)[3]},isNoDefaultLib:false,isTypeReferenceDirective:!!o}}return{diagnosticMessage:e.Diagnostics.Invalid_reference_directive_syntax,isNoDefaultLib:false}}}e.getFileReferenceFromReferencePath=getFileReferenceFromReferencePath;function isKeyword(e){return 70<=e&&e<=138}e.isKeyword=isKeyword;function isTrivia(e){return 2<=e&&e<=7}e.isTrivia=isTrivia;function isAsyncFunctionLike(e){return isFunctionLike(e)&&0!==(256&e.flags)&&!isAccessor(e)}e.isAsyncFunctionLike=isAsyncFunctionLike;function isStringOrNumericLiteral(e){return 9===e||8===e}e.isStringOrNumericLiteral=isStringOrNumericLiteral;function hasDynamicName(e){return e.name&&isDynamicName(e.name)}e.hasDynamicName=hasDynamicName;function isDynamicName(e){return 140===e.kind&&!isStringOrNumericLiteral(e.expression.kind)&&!isWellKnownSymbolSyntactically(e.expression)}e.isDynamicName=isDynamicName;function isWellKnownSymbolSyntactically(e){return isPropertyAccessExpression(e)&&isESSymbolIdentifier(e.expression)}e.isWellKnownSymbolSyntactically=isWellKnownSymbolSyntactically;function getPropertyNameForPropertyNameNode(e){if(69===e.kind||9===e.kind||8===e.kind||142===e.kind)return e.text;if(140===e.kind){var t=e.expression;if(isWellKnownSymbolSyntactically(t)){var r=t.name.text;return getPropertyNameForKnownSymbolName(r)}if(9===t.kind||8===t.kind)return t.text}}e.getPropertyNameForPropertyNameNode=getPropertyNameForPropertyNameNode;function getPropertyNameForKnownSymbolName(e){return"__@"+e}e.getPropertyNameForKnownSymbolName=getPropertyNameForKnownSymbolName;function isESSymbolIdentifier(e){return 69===e.kind&&"Symbol"===e.text}e.isESSymbolIdentifier=isESSymbolIdentifier;function isModifierKind(e){switch(e){case 115:case 118:case 74:case 122:case 77:case 82:case 112:case 110:case 111:case 128:case 113:return true}return false}e.isModifierKind=isModifierKind;function isParameterDeclaration(e){var t=getRootDeclaration(e);return 142===t.kind}e.isParameterDeclaration=isParameterDeclaration;function getRootDeclaration(e){while(169===e.kind)e=e.parent.parent;return e}e.getRootDeclaration=getRootDeclaration;function nodeStartsNewLexicalEnvironment(e){return isFunctionLike(e)||225===e.kind||256===e.kind}e.nodeStartsNewLexicalEnvironment=nodeStartsNewLexicalEnvironment;function cloneNode(t,r,n,a){var i=void 0!==r?e.createNode(t.kind,r.pos,r.end):createSynthesizedNode(t.kind);for(var o in t)!i.hasOwnProperty(o)&&t.hasOwnProperty(o)&&(i[o]=t[o]);void 0!==n&&(i.flags=n);void 0!==a&&(i.parent=a);return i}e.cloneNode=cloneNode;function cloneEntityName(e,t){var r=cloneNode(e,e,e.flags,t);if(isQualifiedName(r)){var n=r.left,a=r.right;r.left=cloneEntityName(n,r);r.right=cloneNode(a,a,a.flags,t)}return r}e.cloneEntityName=cloneEntityName;function isQualifiedName(e){return 139===e.kind}e.isQualifiedName=isQualifiedName;function nodeIsSynthesized(e){return-1===e.pos}e.nodeIsSynthesized=nodeIsSynthesized;function createSynthesizedNode(t,r){var n=e.createNode(t,-1,-1);n.startsOnNewLine=r;return n}e.createSynthesizedNode=createSynthesizedNode;function createSynthesizedNodeArray(){var e=[];e.pos=-1;e.end=-1;return e}e.createSynthesizedNodeArray=createSynthesizedNodeArray;function createDiagnosticCollection(){var t=[];var r={};var n=false;var a=0;return{add:add,getGlobalDiagnostics:getGlobalDiagnostics,getDiagnostics:getDiagnostics,getModificationCount:getModificationCount,reattachFileDiagnostics:reattachFileDiagnostics};function getModificationCount(){return a}function reattachFileDiagnostics(t){if(e.hasProperty(r,t.fileName))for(var n=0,a=r[t.fileName];n1){i=i+n.length-1;o=r.length-t.length+e.lastOrUndefined(n)}}}function writeLine(){if(!a){r+=t;i++;o=r.length;a=true}}function writeTextOfNode(e,t){write(getTextOfNodeFromSourceText(e,t))}reset();return{write:write,rawWrite:rawWrite,writeTextOfNode:writeTextOfNode,writeLiteral:writeLiteral,writeLine:writeLine,increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return i+1},getColumn:function(){return a?n*getIndentSize()+1:r.length-o+1},getText:function(){return r},reset:reset}}e.createTextWriter=createTextWriter;function getExternalModuleNameFromPath(t,r){var getCanonicalFileName=function(e){return t.getCanonicalFileName(e)};var n=e.toPath(t.getCommonSourceDirectory(),t.getCurrentDirectory(),getCanonicalFileName);var a=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory());var i=e.getRelativePathToDirectoryOrUrl(n,a,n,getCanonicalFileName,false);return e.removeFileExtension(i)}e.getExternalModuleNameFromPath=getExternalModuleNameFromPath;function getOwnEmitOutputFilePath(t,r,n){var a=r.getCompilerOptions();var i;i=a.outDir?e.removeFileExtension(getSourceFilePathInNewDir(t,r,a.outDir)):e.removeFileExtension(t.fileName);return i+n}e.getOwnEmitOutputFilePath=getOwnEmitOutputFilePath;function getDeclarationEmitOutputFilePath(t,r){var n=r.getCompilerOptions();var a=n.declarationDir||n.outDir;if(n.declaration){var i=a?getSourceFilePathInNewDir(t,r,a):t.fileName;return e.removeFileExtension(i)+".d.ts"}}e.getDeclarationEmitOutputFilePath=getDeclarationEmitOutputFilePath;function getEmitScriptTarget(e){return e.target||0}e.getEmitScriptTarget=getEmitScriptTarget;function getEmitModuleKind(t){return"number"===typeof t.module?t.module:2===getEmitScriptTarget(t)?e.ModuleKind.ES6:e.ModuleKind.CommonJS}e.getEmitModuleKind=getEmitModuleKind;function forEachExpectedEmitFile(t,r,n){var a=t.getCompilerOptions();if(a.outFile||a.out)onBundledEmit(t);else{var i=void 0===n?t.getSourceFiles():[n];for(var o=0,s=i;o0){var t=2===e.parameters.length&&69===e.parameters[0].name.kind&&97===e.parameters[0].name.originalKeywordKind;return e.parameters[t?1:0].type}}e.getSetAccessorTypeAnnotationNode=getSetAccessorTypeAnnotationNode;function getAllAccessorDeclarations(t,r){var n;var a;var i;var o;if(hasDynamicName(r)){n=r;149===r.kind?i=r:150===r.kind?o=r:e.Debug.fail("Accessor has wrong kind")}else e.forEach(t,(function(e){if((149===e.kind||150===e.kind)&&(32&e.flags)===(32&r.flags)){var t=getPropertyNameForPropertyNameNode(e.name);var s=getPropertyNameForPropertyNameNode(r.name);if(t===s){n?a||(a=e):n=e;149!==e.kind||i||(i=e);150!==e.kind||o||(o=e)}}}));return{firstAccessor:n,secondAccessor:a,getAccessor:i,setAccessor:o}}e.getAllAccessorDeclarations=getAllAccessorDeclarations;function emitNewLineBeforeLeadingComments(e,t,r,n){n&&n.length&&r.pos!==n[0].pos&&getLineOfLocalPositionFromLineMap(e,r.pos)!==getLineOfLocalPositionFromLineMap(e,n[0].pos)&&t.writeLine()}e.emitNewLineBeforeLeadingComments=emitNewLineBeforeLeadingComments;function emitComments(t,r,n,a,i,o,s){var c=!i;e.forEach(a,(function(e){if(c){n.write(" ");c=false}s(t,r,n,e,o);e.hasTrailingNewLine?n.writeLine():i?n.write(" "):c=true}))}e.emitComments=emitComments;function emitDetachedComments(t,r,n,a,i,o,s){var c;var l;s?0===i.pos&&(c=e.filter(e.getLeadingCommentRanges(t,i.pos),isPinnedComment)):c=e.getLeadingCommentRanges(t,i.pos);if(c){var u=[];var _=void 0;for(var d=0,p=c;d=g+2)break}u.push(m);_=m}if(u.length){var g=getLineOfLocalPositionFromLineMap(r,e.lastOrUndefined(u).end);var y=getLineOfLocalPositionFromLineMap(r,e.skipTrivia(t,i.pos));if(y>=g+2){emitNewLineBeforeLeadingComments(r,n,i,c);emitComments(t,r,n,u,true,o,a);l={nodePos:i.pos,detachedCommentEndPos:e.lastOrUndefined(u).end}}}}return l;function isPinnedComment(e){return 42===t.charCodeAt(e.pos+1)&&33===t.charCodeAt(e.pos+2)}}e.emitDetachedComments=emitDetachedComments;function writeCommentRange(t,r,n,a,i){if(42===t.charCodeAt(a.pos+1)){var o=e.computeLineAndCharacterOfPosition(r,a.pos);var s=r.length;var c=void 0;for(var l=a.pos,u=o.line;l0){var m=p%getIndentSize();var g=getIndentString((p-m)/getIndentSize());n.rawWrite(g);while(m){n.rawWrite(" ");m--}}else n.rawWrite("")}writeTrimmedCurrentLine(t,a,n,i,l,_);l=_}}else n.write(t.substring(a.pos,a.end))}e.writeCommentRange=writeCommentRange;function writeTrimmedCurrentLine(e,t,r,n,a,i){var o=Math.min(t.end,i-1);var s=e.substring(a,o).replace(/^\s+|\s+$/g,"");if(s){r.write(s);o!==t.end&&r.writeLine()}else r.writeLiteral(n)}function calculateIndent(t,r,n){var a=0;for(;r=56&&e<=68}e.isAssignmentOperator=isAssignmentOperator;function isExpressionWithTypeArgumentsInClassExtendsClause(e){return 194===e.kind&&83===e.parent.token&&isClassLike(e.parent.parent)}e.isExpressionWithTypeArgumentsInClassExtendsClause=isExpressionWithTypeArgumentsInClassExtendsClause;function isSupportedExpressionWithTypeArguments(e){return isSupportedExpressionWithTypeArgumentsRest(e.expression)}e.isSupportedExpressionWithTypeArguments=isSupportedExpressionWithTypeArguments;function isSupportedExpressionWithTypeArgumentsRest(e){return 69===e.kind||!!isPropertyAccessExpression(e)&&isSupportedExpressionWithTypeArgumentsRest(e.expression)}function isRightSideOfQualifiedNameOrPropertyAccess(e){return 139===e.parent.kind&&e.parent.right===e||172===e.parent.kind&&e.parent.name===e}e.isRightSideOfQualifiedNameOrPropertyAccess=isRightSideOfQualifiedNameOrPropertyAccess;function isEmptyObjectLiteralOrArrayLiteral(e){var t=e.kind;return 171===t?0===e.properties.length:170===t&&0===e.elements.length}e.isEmptyObjectLiteralOrArrayLiteral=isEmptyObjectLiteralOrArrayLiteral;function getLocalSymbolForExportDefault(e){return e&&e.valueDeclaration&&512&e.valueDeclaration.flags?e.valueDeclaration.localSymbol:void 0}e.getLocalSymbolForExportDefault=getLocalSymbolForExportDefault;function hasJavaScriptFileExtension(t){return e.forEach(e.supportedJavascriptExtensions,(function(r){return e.fileExtensionIs(t,r)}))}e.hasJavaScriptFileExtension=hasJavaScriptFileExtension;function hasTypeScriptFileExtension(t){return e.forEach(e.supportedTypeScriptExtensions,(function(r){return e.fileExtensionIs(t,r)}))}e.hasTypeScriptFileExtension=hasTypeScriptFileExtension;function getExpandedCharCodes(t){var r=[];var n=t.length;for(var a=0;a>6|192);r.push(63&i|128)}else if(i<65536){r.push(i>>12|224);r.push(i>>6&63|128);r.push(63&i|128)}else if(i<131072){r.push(i>>18|240);r.push(i>>12&63|128);r.push(i>>6&63|128);r.push(63&i|128)}else e.Debug.assert(false,"Unexpected code point")}return r}e.stringify="undefined"!==typeof JSON&&JSON.stringify?JSON.stringify:stringifyFallback;function stringifyFallback(e){return void 0===e?void 0:stringifyValue(e)}function stringifyValue(t){return"string"===typeof t?'"'+escapeString(t)+'"':"number"===typeof t?isFinite(t)?String(t):"null":"boolean"===typeof t?t?"true":"false":"object"===typeof t&&t?e.isArray(t)?cycleCheck(stringifyArray,t):cycleCheck(stringifyObject,t):"null"}function cycleCheck(t,r){e.Debug.assert(!r.hasOwnProperty("__cycle"),"Converting circular structure to JSON");r.__cycle=true;var n=t(r);delete r.__cycle;return n}function stringifyArray(t){return"["+e.reduceLeft(t,stringifyElement,"")+"]"}function stringifyElement(e,t){return(e?e+",":e)+stringifyValue(t)}function stringifyObject(t){return"{"+e.reduceProperties(t,stringifyProperty,"")+"}"}function stringifyProperty(e,t,r){return void 0===t||"function"===typeof t||"__cycle"===r?e:(e?e+",":e)+'"'+escapeString(r)+'":'+stringifyValue(t)}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function convertToBase64(e){var t="";var r=getExpandedCharCodes(e);var n=0;var a=r.length;var i,s,c,l;while(n>2;s=(3&r[n])<<4|r[n+1]>>4;c=(15&r[n+1])<<2|r[n+2]>>6;l=63&r[n+2];n+1>=a?c=l=64:n+2>=a&&(l=64);t+=o.charAt(i)+o.charAt(s)+o.charAt(c)+o.charAt(l);n+=3}return t}e.convertToBase64=convertToBase64;function convertToRelativePath(t,r,n){return e.isRootedDiskPath(t)?e.getRelativePathToDirectoryOrUrl(r,t,r,n,false):t}e.convertToRelativePath=convertToRelativePath;var s="\r\n";var c="\n";function getNewLineCharacter(t){return 0===t.newLine?s:1===t.newLine?c:e.sys?e.sys.newLine:s}e.getNewLineCharacter=getNewLineCharacter;function isWatchSet(e){return e.watch&&e.hasOwnProperty("watch")}e.isWatchSet=isWatchSet})(l||(l={}));var l;(function(e){function getDefaultLibFileName(e){return 2===e.target?"lib.es6.d.ts":"lib.d.ts"}e.getDefaultLibFileName=getDefaultLibFileName;function textSpanEnd(e){return e.start+e.length}e.textSpanEnd=textSpanEnd;function textSpanIsEmpty(e){return 0===e.length}e.textSpanIsEmpty=textSpanIsEmpty;function textSpanContainsPosition(e,t){return t>=e.start&&t=e.start&&textSpanEnd(t)<=textSpanEnd(e)}e.textSpanContainsTextSpan=textSpanContainsTextSpan;function textSpanOverlapsWith(e,t){var r=Math.max(e.start,t.start);var n=Math.min(textSpanEnd(e),textSpanEnd(t));return r=e.start}e.textSpanIntersectsWithTextSpan=textSpanIntersectsWithTextSpan;function textSpanIntersectsWith(e,t,r){var n=t+r;return t<=textSpanEnd(e)&&n>=e.start}e.textSpanIntersectsWith=textSpanIntersectsWith;function decodedTextSpanIntersectsWith(e,t,r,n){var a=e+t;var i=r+n;return r<=a&&i>=e}e.decodedTextSpanIntersectsWith=decodedTextSpanIntersectsWith;function textSpanIntersectsWithPosition(e,t){return t<=textSpanEnd(e)&&t>=e.start}e.textSpanIntersectsWithPosition=textSpanIntersectsWithPosition;function textSpanIntersection(e,t){var r=Math.max(e.start,t.start);var n=Math.min(textSpanEnd(e),textSpanEnd(t));if(r<=n)return createTextSpanFromBounds(r,n)}e.textSpanIntersection=textSpanIntersection;function createTextSpan(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}e.createTextSpan=createTextSpan;function createTextSpanFromBounds(e,t){return createTextSpan(e,t-e)}e.createTextSpanFromBounds=createTextSpanFromBounds;function textChangeRangeNewSpan(e){return createTextSpan(e.span.start,e.newLength)}e.textChangeRangeNewSpan=textChangeRangeNewSpan;function textChangeRangeIsUnchanged(e){return textSpanIsEmpty(e.span)&&0===e.newLength}e.textChangeRangeIsUnchanged=textChangeRangeIsUnchanged;function createTextChangeRange(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}e.createTextChangeRange=createTextChangeRange;e.unchangedTextChangeRange=createTextChangeRange(createTextSpan(0,0),0);function collapseTextChangeRangesAcrossMultipleVersions(t){if(0===t.length)return e.unchangedTextChangeRange;if(1===t.length)return t[0];var r=t[0];var n=r.span.start;var a=textSpanEnd(r.span);var i=n+r.newLength;for(var o=1;o105)}function parseExpected(t,r,n){void 0===n&&(n=true);if(l===t){n&&nextToken();return true}r?parseErrorAtCurrentToken(r):parseErrorAtCurrentToken(e.Diagnostics._0_expected,e.tokenToString(t));return false}function parseOptional(e){if(l===e){nextToken();return true}return false}function parseOptionalToken(e){if(l===e)return parseTokenNode()}function parseExpectedToken(e,t,r,n){return parseOptionalToken(e)||createMissingNode(e,t,r,n)}function parseTokenNode(){var e=createNode(l);nextToken();return finishNode(e)}function canParseSemicolon(){return 23===l||(16===l||1===l||r.hasPrecedingLineBreak())}function parseSemicolon(){if(canParseSemicolon()){23===l&&nextToken();return true}return parseExpected(23)}function createNode(e,t){_++;t>=0||(t=r.getStartPos());return new a(e,t,t)}function finishNode(e,t){e.end=void 0===t?r.getStartPos():t;g&&(e.flags|=g);if(f){f=false;e.flags|=67108864}return e}function createMissingNode(e,t,n,a){t?parseErrorAtPosition(r.getStartPos(),0,n,a):parseErrorAtCurrentToken(n,a);var i=createNode(e,r.getStartPos());i.text="";return finishNode(i)}function internIdentifier(t){t=e.escapeIdentifier(t);return e.hasProperty(d,t)?d[t]:d[t]=t}function createIdentifier(t,n){p++;if(t){var a=createNode(69);69!==l&&(a.originalKeywordKind=l);a.text=internIdentifier(r.getTokenValue());nextToken();return finishNode(a)}return createMissingNode(69,false,n||e.Diagnostics.Identifier_expected)}function parseIdentifier(e){return createIdentifier(isIdentifier(),e)}function parseIdentifierName(){return createIdentifier(e.tokenIsIdentifierOrKeyword(l))}function isLiteralPropertyName(){return e.tokenIsIdentifierOrKeyword(l)||9===l||8===l}function parsePropertyNameWorker(e){return 9===l||8===l?parseLiteralNode(true):e&&19===l?parseComputedPropertyName():parseIdentifierName()}function parsePropertyName(){return parsePropertyNameWorker(true)}function parseSimplePropertyName(){return parsePropertyNameWorker(false)}function isSimplePropertyName(){return 9===l||8===l||e.tokenIsIdentifierOrKeyword(l)}function parseComputedPropertyName(){var e=createNode(140);parseExpected(19);e.expression=allowInAnd(parseExpression);parseExpected(20);return finishNode(e)}function parseContextualModifier(e){return l===e&&tryParse(nextTokenCanFollowModifier)}function nextTokenIsOnSameLineAndCanFollowModifier(){nextToken();return!r.hasPrecedingLineBreak()&&canFollowModifier()}function nextTokenCanFollowModifier(){if(74===l)return 81===nextToken();if(82===l){nextToken();return 77===l?lookAhead(nextTokenIsClassOrFunctionOrAsync):37!==l&&116!==l&&15!==l&&canFollowModifier()}if(77===l)return nextTokenIsClassOrFunctionOrAsync();if(113===l){nextToken();return canFollowModifier()}return nextTokenIsOnSameLineAndCanFollowModifier()}function parseAnyContextualModifier(){return e.isModifierKind(l)&&tryParse(nextTokenCanFollowModifier)}function canFollowModifier(){return 19===l||15===l||37===l||22===l||isLiteralPropertyName()}function nextTokenIsClassOrFunctionOrAsync(){nextToken();return 73===l||87===l||118===l&&lookAhead(nextTokenIsFunctionKeywordOnSameLine)}function isListElement(t,r){var n=currentNode(t);if(n)return true;switch(t){case 0:case 1:case 3:return!(23===l&&r)&&isStartOfStatement();case 2:return 71===l||77===l;case 4:return lookAhead(isTypeMemberStart);case 5:return lookAhead(isClassMemberStart)||23===l&&!r;case 6:return 19===l||isLiteralPropertyName();case 12:return 19===l||37===l||isLiteralPropertyName();case 9:return 19===l||isLiteralPropertyName();case 7:return 15===l?lookAhead(isValidHeritageClauseObjectLiteral):r?isIdentifier()&&!isHeritageClauseExtendsOrImplementsKeyword():isStartOfLeftHandSideExpression()&&!isHeritageClauseExtendsOrImplementsKeyword();case 8:return isIdentifierOrPattern();case 10:return 24===l||22===l||isIdentifierOrPattern();case 17:return isIdentifier();case 11:case 15:return 24===l||22===l||isStartOfExpression();case 16:return isStartOfParameter();case 18:case 19:return 24===l||isStartOfType();case 20:return isHeritageClause();case 21:return e.tokenIsIdentifierOrKeyword(l);case 13:return e.tokenIsIdentifierOrKeyword(l)||15===l;case 14:return true;case 22:case 23:case 25:return v.isJSDocType();case 24:return isSimplePropertyName()}e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function isValidHeritageClauseObjectLiteral(){e.Debug.assert(15===l);if(16===nextToken()){var t=nextToken();return 24===t||15===t||83===t||106===t}return true}function nextTokenIsIdentifier(){nextToken();return isIdentifier()}function nextTokenIsIdentifierOrKeyword(){nextToken();return e.tokenIsIdentifierOrKeyword(l)}function isHeritageClauseExtendsOrImplementsKeyword(){return(106===l||83===l)&&lookAhead(nextTokenIsStartOfExpression)}function nextTokenIsStartOfExpression(){nextToken();return isStartOfExpression()}function isListTerminator(e){if(1===l)return true;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 21:return 16===l;case 3:return 16===l||71===l||77===l;case 7:return 15===l||83===l||106===l;case 8:return isVariableDeclaratorListTerminator();case 17:return 27===l||17===l||15===l||83===l||106===l;case 11:return 18===l||23===l;case 15:case 19:case 10:return 20===l;case 16:return 18===l||20===l;case 18:return 27===l||17===l;case 20:return 15===l||16===l;case 13:return 27===l||39===l;case 14:return 25===l&&lookAhead(nextTokenIsSlash);case 22:return 18===l||54===l||16===l;case 23:return 27===l||16===l;case 25:return 20===l||16===l;case 24:return 16===l}}function isVariableDeclaratorListTerminator(){return!!canParseSemicolon()||(!!isInOrOfKeyword(l)||34===l)}function isInSomeParsingContext(){for(var e=0;e<26;e++)if(m&1<=0&&(i.hasTrailingComma=true);i.end=getNodeEnd();m=a;return i}function createMissingList(){var e=getNodePos();var t=[];t.pos=e;t.end=e;return t}function parseBracketedList(e,t,r,n){if(parseExpected(r)){var a=parseDelimitedList(e,t);parseExpected(n);return a}return createMissingList()}function parseEntityName(e,t){var r=parseIdentifier(t);while(parseOptional(21)){var n=createNode(139,r.pos);n.left=r;n.right=parseRightSideOfDot(e);r=finishNode(n)}return r}function parseRightSideOfDot(t){if(r.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(l)){var n=lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);if(n)return createMissingNode(69,true,e.Diagnostics.Identifier_expected)}return t?parseIdentifierName():parseIdentifier()}function parseTemplateExpression(){var t=createNode(189);t.head=parseTemplateLiteralFragment();e.Debug.assert(12===t.head.kind,"Template head has wrong token kind");var r=[];r.pos=getNodePos();do{r.push(parseTemplateSpan())}while(13===e.lastOrUndefined(r).literal.kind);r.end=getNodeEnd();t.templateSpans=r;return finishNode(t)}function parseTemplateSpan(){var t=createNode(197);t.expression=allowInAnd(parseExpression);var r;if(16===l){reScanTemplateToken();r=parseTemplateLiteralFragment()}else r=parseExpectedToken(14,false,e.Diagnostics._0_expected,e.tokenToString(16));t.literal=r;return finishNode(t)}function parseStringLiteralTypeNode(){return parseLiteralLikeNode(166,true)}function parseLiteralNode(e){return parseLiteralLikeNode(l,e)}function parseTemplateLiteralFragment(){return parseLiteralLikeNode(l,false)}function parseLiteralLikeNode(t,n){var a=createNode(t);var i=r.getTokenValue();a.text=n?internIdentifier(i):i;r.hasExtendedUnicodeEscape()&&(a.hasExtendedUnicodeEscape=true);r.isUnterminated()&&(a.isUnterminated=true);var o=r.getTokenPos();nextToken();finishNode(a);8===a.kind&&48===u.charCodeAt(o)&&e.isOctalDigit(u.charCodeAt(o+1))&&(a.isOctalLiteral=true);return a}function parseTypeReference(){var t=parseEntityName(false,e.Diagnostics.Type_expected);var n=createNode(155,t.pos);n.typeName=t;r.hasPrecedingLineBreak()||25!==l||(n.typeArguments=parseBracketedList(18,parseType,25,27));return finishNode(n)}function parseThisTypePredicate(e){nextToken();var t=createNode(154,e.pos);t.parameterName=e;t.type=parseType();return finishNode(t)}function parseThisTypeNode(){var e=createNode(165);nextToken();return finishNode(e)}function parseTypeQuery(){var e=createNode(158);parseExpected(101);e.exprName=parseEntityName(true);return finishNode(e)}function parseTypeParameter(){var e=createNode(141);e.name=parseIdentifier();parseOptional(83)&&(isStartOfType()||!isStartOfExpression()?e.constraint=parseType():e.expression=parseUnaryExpressionOrHigher());return finishNode(e)}function parseTypeParameters(){if(25===l)return parseBracketedList(17,parseTypeParameter,25,27)}function parseParameterType(){if(parseOptional(54))return parseType()}function isStartOfParameter(){return 22===l||isIdentifierOrPattern()||e.isModifierKind(l)||55===l||97===l}function setModifiers(e,t){if(t){e.flags|=t.flags;e.modifiers=t}}function parseParameter(){var t=createNode(142);if(97===l){t.name=createIdentifier(true,void 0);t.type=parseParameterType();return finishNode(t)}t.decorators=parseDecorators();setModifiers(t,parseModifiers());t.dotDotDotToken=parseOptionalToken(22);t.name=parseIdentifierOrPattern();0===e.getFullWidth(t.name)&&0===t.flags&&e.isModifierKind(l)&&nextToken();t.questionToken=parseOptionalToken(53);t.type=parseParameterType();t.initializer=parseBindingElementInitializer(true);return addJSDocComment(finishNode(t))}function parseBindingElementInitializer(e){return e?parseParameterInitializer():parseNonParameterInitializer()}function parseParameterInitializer(){return parseInitializer(true)}function fillSignature(e,t,r,n,a){var i=34===e;a.typeParameters=parseTypeParameters();a.parameters=parseParameterList(t,r,n);if(i){parseExpected(e);a.type=parseTypeOrTypePredicate()}else parseOptional(e)&&(a.type=parseTypeOrTypePredicate())}function parseParameterList(e,t,r){if(parseExpected(17)){var n=inYieldContext();var a=inAwaitContext();setYieldContext(e);setAwaitContext(t);var i=parseDelimitedList(16,parseParameter);setYieldContext(n);setAwaitContext(a);if(!parseExpected(18)&&r)return;return i}return r?void 0:createMissingList()}function parseTypeMemberSemicolon(){parseOptional(24)||parseSemicolon()}function parseSignatureMember(e){var t=createNode(e);152===e&&parseExpected(92);fillSignature(54,false,false,false,t);parseTypeMemberSemicolon();return finishNode(t)}function isIndexSignature(){return 19===l&&lookAhead(isUnambiguouslyIndexSignature)}function isUnambiguouslyIndexSignature(){nextToken();if(22===l||20===l)return true;if(e.isModifierKind(l)){nextToken();if(isIdentifier())return true}else{if(!isIdentifier())return false;nextToken()}if(54===l||24===l)return true;if(53!==l)return false;nextToken();return 54===l||24===l||20===l}function parseIndexSignatureDeclaration(e,t,r){var n=createNode(153,e);n.decorators=t;setModifiers(n,r);n.parameters=parseBracketedList(16,parseParameter,19,20);n.type=parseTypeAnnotation();parseTypeMemberSemicolon();return finishNode(n)}function parsePropertyOrMethodSignature(e,t){var r=parsePropertyName();var n=parseOptionalToken(53);if(17===l||25===l){var a=createNode(146,e);setModifiers(a,t);a.name=r;a.questionToken=n;fillSignature(54,false,false,false,a);parseTypeMemberSemicolon();return finishNode(a)}var i=createNode(144,e);setModifiers(i,t);i.name=r;i.questionToken=n;i.type=parseTypeAnnotation();56===l&&(i.initializer=parseNonParameterInitializer());parseTypeMemberSemicolon();return finishNode(i)}function isTypeMemberStart(){var t;if(17===l||25===l)return true;while(e.isModifierKind(l)){t=l;nextToken()}if(19===l)return true;if(isLiteralPropertyName()){t=l;nextToken()}return!!t&&(17===l||25===l||53===l||54===l||canParseSemicolon())}function parseTypeMember(){if(17===l||25===l)return parseSignatureMember(151);if(92===l&&lookAhead(isStartOfConstructSignature))return parseSignatureMember(152);var e=getNodePos();var t=parseModifiers();return isIndexSignature()?parseIndexSignatureDeclaration(e,void 0,t):parsePropertyOrMethodSignature(e,t)}function isStartOfConstructSignature(){nextToken();return 17===l||25===l}function parseTypeLiteral(){var e=createNode(159);e.members=parseObjectTypeMembers();return finishNode(e)}function parseObjectTypeMembers(){var e;if(parseExpected(15)){e=parseList(4,parseTypeMember);parseExpected(16)}else e=createMissingList();return e}function parseTupleType(){var e=createNode(161);e.elementTypes=parseBracketedList(19,parseType,19,20);return finishNode(e)}function parseParenthesizedType(){var e=createNode(164);parseExpected(17);e.type=parseType();parseExpected(18);return finishNode(e)}function parseFunctionOrConstructorType(e){var t=createNode(e);157===e&&parseExpected(92);fillSignature(34,false,false,false,t);return finishNode(t)}function parseKeywordAndNoDot(){var e=parseTokenNode();return 21===l?void 0:e}function parseNonArrayType(){switch(l){case 117:case 132:case 130:case 120:case 133:case 135:case 127:var e=tryParse(parseKeywordAndNoDot);return e||parseTypeReference();case 9:return parseStringLiteralTypeNode();case 103:case 93:return parseTokenNode();case 97:var t=parseThisTypeNode();return 124!==l||r.hasPrecedingLineBreak()?t:parseThisTypePredicate(t);case 101:return parseTypeQuery();case 15:return parseTypeLiteral();case 19:return parseTupleType();case 17:return parseParenthesizedType();default:return parseTypeReference()}}function isStartOfType(){switch(l){case 117:case 132:case 130:case 120:case 133:case 103:case 135:case 93:case 97:case 101:case 127:case 15:case 19:case 25:case 92:case 9:return true;case 17:return lookAhead(isStartOfParenthesizedOrFunctionType);default:return isIdentifier()}}function isStartOfParenthesizedOrFunctionType(){nextToken();return 18===l||isStartOfParameter()||isStartOfType()}function parseArrayTypeOrHigher(){var e=parseNonArrayType();while(!r.hasPrecedingLineBreak()&&parseOptional(19)){parseExpected(20);var t=createNode(160,e.pos);t.elementType=e;e=finishNode(t)}return e}function parseUnionOrIntersectionType(e,t,r){var n=t();if(l===r){var a=[n];a.pos=n.pos;while(parseOptional(r))a.push(t());a.end=getNodeEnd();var i=createNode(e,n.pos);i.types=a;n=finishNode(i)}return n}function parseIntersectionTypeOrHigher(){return parseUnionOrIntersectionType(163,parseArrayTypeOrHigher,46)}function parseUnionTypeOrHigher(){return parseUnionOrIntersectionType(162,parseIntersectionTypeOrHigher,47)}function isStartOfFunctionType(){return 25===l||17===l&&lookAhead(isUnambiguouslyStartOfFunctionType)}function skipParameterStart(){e.isModifierKind(l)&&parseModifiers();if(isIdentifier()||97===l){nextToken();return true}if(19===l||15===l){var t=s.length;parseIdentifierOrPattern();return t===s.length}return false}function isUnambiguouslyStartOfFunctionType(){nextToken();if(18===l||22===l)return true;if(skipParameterStart()){if(54===l||24===l||53===l||56===l)return true;if(18===l){nextToken();if(34===l)return true}}return false}function parseTypeOrTypePredicate(){var e=isIdentifier()&&tryParse(parseTypePredicatePrefix);var t=parseType();if(e){var r=createNode(154,e.pos);r.parameterName=e;r.type=t;return finishNode(r)}return t}function parseTypePredicatePrefix(){var e=parseIdentifier();if(124===l&&!r.hasPrecedingLineBreak()){nextToken();return e}}function parseType(){return doOutsideOfContext(41943040,parseTypeWorker)}function parseTypeWorker(){return isStartOfFunctionType()?parseFunctionOrConstructorType(156):92===l?parseFunctionOrConstructorType(157):parseUnionTypeOrHigher()}function parseTypeAnnotation(){return parseOptional(54)?parseType():void 0}function isStartOfLeftHandSideExpression(){switch(l){case 97:case 95:case 93:case 99:case 84:case 8:case 9:case 11:case 12:case 17:case 19:case 15:case 87:case 73:case 92:case 39:case 61:case 69:return true;default:return isIdentifier()}}function isStartOfExpression(){if(isStartOfLeftHandSideExpression())return true;switch(l){case 35:case 36:case 50:case 49:case 78:case 101:case 103:case 41:case 42:case 25:case 119:case 114:return true;default:return!!isBinaryOperator()||isIdentifier()}}function isStartOfExpressionStatement(){return 15!==l&&87!==l&&73!==l&&55!==l&&isStartOfExpression()}function parseExpression(){var e=inDecoratorContext();e&&setDecoratorContext(false);var t=parseAssignmentExpressionOrHigher();var r;while(r=parseOptionalToken(24))t=makeBinaryExpression(t,r,parseAssignmentExpressionOrHigher());e&&setDecoratorContext(true);return t}function parseInitializer(e){if(56===l||!(r.hasPrecedingLineBreak()||e&&15===l)&&isStartOfExpression()){parseExpected(56);return parseAssignmentExpressionOrHigher()}}function parseAssignmentExpressionOrHigher(){if(isYieldExpression())return parseYieldExpression();var t=tryParseParenthesizedArrowFunctionExpression()||tryParseAsyncSimpleArrowFunctionExpression();if(t)return t;var r=parseBinaryExpressionOrHigher(0);return 69===r.kind&&34===l?parseSimpleArrowFunctionExpression(r):e.isLeftHandSideExpression(r)&&e.isAssignmentOperator(reScanGreaterToken())?makeBinaryExpression(r,parseTokenNode(),parseAssignmentExpressionOrHigher()):parseConditionalExpressionRest(r)}function isYieldExpression(){return 114===l&&(!!inYieldContext()||lookAhead(nextTokenIsIdentifierOrKeywordOrNumberOnSameLine))}function nextTokenIsIdentifierOnSameLine(){nextToken();return!r.hasPrecedingLineBreak()&&isIdentifier()}function parseYieldExpression(){var e=createNode(190);nextToken();if(r.hasPrecedingLineBreak()||37!==l&&!isStartOfExpression())return finishNode(e);e.asteriskToken=parseOptionalToken(37);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}function parseSimpleArrowFunctionExpression(t,r){e.Debug.assert(34===l,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var n;if(r){n=createNode(180,r.pos);setModifiers(n,r)}else n=createNode(180,t.pos);var a=createNode(142,t.pos);a.name=t;finishNode(a);n.parameters=[a];n.parameters.pos=a.pos;n.parameters.end=a.end;n.equalsGreaterThanToken=parseExpectedToken(34,false,e.Diagnostics._0_expected,"=>");n.body=parseArrowFunctionExpressionBody(!!r);return finishNode(n)}function tryParseParenthesizedArrowFunctionExpression(){var t=isParenthesizedArrowFunctionExpression();if(0!==t){var r=1===t?parseParenthesizedArrowFunctionExpressionHead(true):tryParse(parsePossibleParenthesizedArrowFunctionExpressionHead);if(r){var n=!!(256&r.flags);var a=l;r.equalsGreaterThanToken=parseExpectedToken(34,false,e.Diagnostics._0_expected,"=>");r.body=34===a||15===a?parseArrowFunctionExpressionBody(n):parseIdentifier();return finishNode(r)}}}function isParenthesizedArrowFunctionExpression(){return 17===l||25===l||118===l?lookAhead(isParenthesizedArrowFunctionExpressionWorker):34===l?1:0}function isParenthesizedArrowFunctionExpressionWorker(){if(118===l){nextToken();if(r.hasPrecedingLineBreak())return 0;if(17!==l&&25!==l)return 0}var t=l;var n=nextToken();if(17===t){if(18===n){var a=nextToken();switch(a){case 34:case 54:case 15:return 1;default:return 0}}return 19===n||15===n?2:22===n?1:isIdentifier()?54===nextToken()?1:2:0}e.Debug.assert(25===t);if(!isIdentifier())return 0;if(1===o.languageVariant){var i=lookAhead((function(){var e=nextToken();if(83===e){var t=nextToken();switch(t){case 56:case 27:return false;default:return true}}else if(24===e)return true;return false}));return i?1:0}return 2}function parsePossibleParenthesizedArrowFunctionExpressionHead(){return parseParenthesizedArrowFunctionExpressionHead(false)}function tryParseAsyncSimpleArrowFunctionExpression(){if(118===l){var e=lookAhead(isUnParenthesizedAsyncArrowFunctionWorker);if(1===e){var t=parseModifiersForArrowFunction();var r=parseBinaryExpressionOrHigher(0);return parseSimpleArrowFunctionExpression(r,t)}}}function isUnParenthesizedAsyncArrowFunctionWorker(){if(118===l){nextToken();if(r.hasPrecedingLineBreak()||34===l)return 0;var e=parseBinaryExpressionOrHigher(0);if(!r.hasPrecedingLineBreak()&&69===e.kind&&34===l)return 1}return 0}function parseParenthesizedArrowFunctionExpressionHead(e){var t=createNode(180);setModifiers(t,parseModifiersForArrowFunction());var r=!!(256&t.flags);fillSignature(54,false,r,!e,t);if(t.parameters&&(e||34===l||15===l))return t}function parseArrowFunctionExpressionBody(e){return 15===l?parseFunctionBlock(false,e,false):23!==l&&87!==l&&73!==l&&isStartOfStatement()&&!isStartOfExpressionStatement()?parseFunctionBlock(false,e,true):e?doInAwaitContext(parseAssignmentExpressionOrHigher):doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher)}function parseConditionalExpressionRest(t){var r=parseOptionalToken(53);if(!r)return t;var a=createNode(188,t.pos);a.condition=t;a.questionToken=r;a.whenTrue=doOutsideOfContext(n,parseAssignmentExpressionOrHigher);a.colonToken=parseExpectedToken(54,false,e.Diagnostics._0_expected,e.tokenToString(54));a.whenFalse=parseAssignmentExpressionOrHigher();return finishNode(a)}function parseBinaryExpressionOrHigher(e){var t=parseUnaryExpressionOrHigher();return parseBinaryExpressionRest(e,t)}function isInOrOfKeyword(e){return 90===e||138===e}function parseBinaryExpressionRest(e,t){while(true){reScanGreaterToken();var n=getBinaryOperatorPrecedence();var a=38===l?n>=e:n>e;if(!a)break;if(90===l&&inDisallowInContext())break;if(116===l){if(r.hasPrecedingLineBreak())break;nextToken();t=makeAsExpression(t,parseType())}else t=makeBinaryExpression(t,parseTokenNode(),parseBinaryExpressionOrHigher(n))}return t}function isBinaryOperator(){return(!inDisallowInContext()||90!==l)&&getBinaryOperatorPrecedence()>0}function getBinaryOperatorPrecedence(){switch(l){case 52:return 1;case 51:return 2;case 47:return 3;case 48:return 4;case 46:return 5;case 30:case 31:case 32:case 33:return 6;case 25:case 27:case 28:case 29:case 91:case 90:case 116:return 7;case 43:case 44:case 45:return 8;case 35:case 36:return 9;case 37:case 39:case 40:return 10;case 38:return 11}return-1}function makeBinaryExpression(e,t,r){var n=createNode(187,e.pos);n.left=e;n.operatorToken=t;n.right=r;return finishNode(n)}function makeAsExpression(e,t){var r=createNode(195,e.pos);r.expression=e;r.type=t;return finishNode(r)}function parsePrefixUnaryExpression(){var e=createNode(185);e.operator=l;nextToken();e.operand=parseSimpleUnaryExpression();return finishNode(e)}function parseDeleteExpression(){var e=createNode(181);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseTypeOfExpression(){var e=createNode(182);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseVoidExpression(){var e=createNode(183);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function isAwaitExpression(){return 119===l&&(!!inAwaitContext()||lookAhead(nextTokenIsIdentifierOnSameLine))}function parseAwaitExpression(){var e=createNode(184);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseUnaryExpressionOrHigher(){if(isAwaitExpression())return parseAwaitExpression();if(isIncrementExpression()){var t=parseIncrementExpression();return 38===l?parseBinaryExpressionRest(getBinaryOperatorPrecedence(),t):t}var r=l;var n=parseSimpleUnaryExpression();if(38===l){var a=e.skipTrivia(u,n.pos);177===n.kind?parseErrorAtPosition(a,n.end-a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):parseErrorAtPosition(a,n.end-a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(r))}return n}function parseSimpleUnaryExpression(){switch(l){case 35:case 36:case 50:case 49:return parsePrefixUnaryExpression();case 78:return parseDeleteExpression();case 101:return parseTypeOfExpression();case 103:return parseVoidExpression();case 25:return parseTypeAssertion();default:return parseIncrementExpression()}}function isIncrementExpression(){switch(l){case 35:case 36:case 50:case 49:case 78:case 101:case 103:return false;case 25:if(1!==o.languageVariant)return false;default:return true}}function parseIncrementExpression(){if(41===l||42===l){var t=createNode(185);t.operator=l;nextToken();t.operand=parseLeftHandSideExpressionOrHigher();return finishNode(t)}if(1===o.languageVariant&&25===l&&lookAhead(nextTokenIsIdentifierOrKeyword))return parseJsxElementOrSelfClosingElement(true);var n=parseLeftHandSideExpressionOrHigher();e.Debug.assert(e.isLeftHandSideExpression(n));if((41===l||42===l)&&!r.hasPrecedingLineBreak()){var t=createNode(186,n.pos);t.operand=n;t.operator=l;nextToken();return finishNode(t)}return n}function parseLeftHandSideExpressionOrHigher(){var e=95===l?parseSuperExpression():parseMemberExpressionOrHigher();return parseCallExpressionRest(e)}function parseMemberExpressionOrHigher(){var e=parsePrimaryExpression();return parseMemberExpressionRest(e)}function parseSuperExpression(){var t=parseTokenNode();if(17===l||21===l||19===l)return t;var r=createNode(172,t.pos);r.expression=t;parseExpectedToken(21,false,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access);r.name=parseRightSideOfDot(true);return finishNode(r)}function tagNamesAreEquivalent(e,t){return e.kind===t.kind&&(69===e.kind?e.text===t.text:97===e.kind||e.name.text===t.name.text&&tagNamesAreEquivalent(e.expression,t.expression))}function parseJsxElementOrSelfClosingElement(t){var r=parseJsxOpeningOrSelfClosingElement(t);var n;if(243===r.kind){var a=createNode(241,r.pos);a.openingElement=r;a.children=parseJsxChildren(a.openingElement.tagName);a.closingElement=parseJsxClosingElement(t);tagNamesAreEquivalent(a.openingElement.tagName,a.closingElement.tagName)||parseErrorAtPosition(a.closingElement.pos,a.closingElement.end-a.closingElement.pos,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(u,a.openingElement.tagName));n=finishNode(a)}else{e.Debug.assert(242===r.kind);n=r}if(t&&25===l){var i=tryParse((function(){return parseJsxElementOrSelfClosingElement(true)}));if(i){parseErrorAtCurrentToken(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=createNode(187,n.pos);o.end=i.end;o.left=n;o.right=i;o.operatorToken=createMissingNode(24,false,void 0);o.operatorToken.pos=o.operatorToken.end=o.right.pos;return o}}return n}function parseJsxText(){var e=createNode(244,r.getStartPos());l=r.scanJsxToken();return finishNode(e)}function parseJsxChild(){switch(l){case 244:return parseJsxText();case 15:return parseJsxExpression(false);case 25:return parseJsxElementOrSelfClosingElement(false)}e.Debug.fail("Unknown JSX child kind "+l)}function parseJsxChildren(t){var n=[];n.pos=r.getStartPos();var a=m;m|=1<<14;while(true){l=r.reScanJsxToken();if(26===l)break;if(1===l){parseErrorAtPosition(t.pos,t.end-t.pos,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(u,t));break}n.push(parseJsxChild())}n.end=r.getTokenPos();m=a;return n}function parseJsxOpeningOrSelfClosingElement(e){var t=r.getStartPos();parseExpected(25);var n=parseJsxElementName();var a=parseList(13,parseJsxAttribute);var i;if(27===l){i=createNode(243,t);scanJsxText()}else{parseExpected(39);if(e)parseExpected(27);else{parseExpected(27,void 0,false);scanJsxText()}i=createNode(242,t)}i.tagName=n;i.attributes=a;return finishNode(i)}function parseJsxElementName(){scanJsxIdentifier();var e=97===l?parseTokenNode():parseIdentifierName();while(parseOptional(21)){var t=createNode(172,e.pos);t.expression=e;t.name=parseRightSideOfDot(true);e=finishNode(t)}return e}function parseJsxExpression(e){var t=createNode(248);parseExpected(15);16!==l&&(t.expression=parseAssignmentExpressionOrHigher());if(e)parseExpected(16);else{parseExpected(16,void 0,false);scanJsxText()}return finishNode(t)}function parseJsxAttribute(){if(15===l)return parseJsxSpreadAttribute();scanJsxIdentifier();var e=createNode(246);e.name=parseIdentifierName();if(parseOptional(56))switch(l){case 9:e.initializer=parseLiteralNode();break;default:e.initializer=parseJsxExpression(true);break}return finishNode(e)}function parseJsxSpreadAttribute(){var e=createNode(247);parseExpected(15);parseExpected(22);e.expression=parseExpression();parseExpected(16);return finishNode(e)}function parseJsxClosingElement(e){var t=createNode(245);parseExpected(26);t.tagName=parseJsxElementName();if(e)parseExpected(27);else{parseExpected(27,void 0,false);scanJsxText()}return finishNode(t)}function parseTypeAssertion(){var e=createNode(177);parseExpected(25);e.type=parseType();parseExpected(27);e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseMemberExpressionRest(e){while(true){var t=parseOptionalToken(21);if(t){var n=createNode(172,e.pos);n.expression=e;n.name=parseRightSideOfDot(true);e=finishNode(n)}else if(49!==l||r.hasPrecedingLineBreak())if(inDecoratorContext()||!parseOptional(19)){if(11!==l&&12!==l)return e;var a=createNode(176,e.pos);a.tag=e;a.template=11===l?parseLiteralNode():parseTemplateExpression();e=finishNode(a)}else{var i=createNode(173,e.pos);i.expression=e;if(20!==l){i.argumentExpression=allowInAnd(parseExpression);if(9===i.argumentExpression.kind||8===i.argumentExpression.kind){var o=i.argumentExpression;o.text=internIdentifier(o.text)}}parseExpected(20);e=finishNode(i)}else{nextToken();var s=createNode(196,e.pos);s.expression=e;e=finishNode(s)}}}function parseCallExpressionRest(e){while(true){e=parseMemberExpressionRest(e);if(25!==l){if(17!==l)return e;var t=createNode(174,e.pos);t.expression=e;t.arguments=parseArgumentList();e=finishNode(t)}else{var r=tryParse(parseTypeArgumentsInExpression);if(!r)return e;var t=createNode(174,e.pos);t.expression=e;t.typeArguments=r;t.arguments=parseArgumentList();e=finishNode(t)}}}function parseArgumentList(){parseExpected(17);var e=parseDelimitedList(11,parseArgumentExpression);parseExpected(18);return e}function parseTypeArgumentsInExpression(){if(parseOptional(25)){var e=parseDelimitedList(18,parseType);if(parseExpected(27))return e&&canFollowTypeArgumentsInExpression()?e:void 0}}function canFollowTypeArgumentsInExpression(){switch(l){case 17:case 21:case 18:case 20:case 54:case 23:case 53:case 30:case 32:case 31:case 33:case 51:case 52:case 48:case 46:case 47:case 16:case 1:return true;case 24:case 15:default:return false}}function parsePrimaryExpression(){switch(l){case 8:case 9:case 11:return parseLiteralNode();case 97:case 95:case 93:case 99:case 84:return parseTokenNode();case 17:return parseParenthesizedExpression();case 19:return parseArrayLiteralExpression();case 15:return parseObjectLiteralExpression();case 118:if(!lookAhead(nextTokenIsFunctionKeywordOnSameLine))break;return parseFunctionExpression();case 73:return parseClassExpression();case 87:return parseFunctionExpression();case 92:return parseNewExpression();case 39:case 61:if(10===reScanSlashToken())return parseLiteralNode();break;case 12:return parseTemplateExpression()}return parseIdentifier(e.Diagnostics.Expression_expected)}function parseParenthesizedExpression(){var e=createNode(178);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);return finishNode(e)}function parseSpreadElement(){var e=createNode(191);parseExpected(22);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}function parseArgumentOrArrayLiteralElement(){return 22===l?parseSpreadElement():24===l?createNode(193):parseAssignmentExpressionOrHigher()}function parseArgumentExpression(){return doOutsideOfContext(n,parseArgumentOrArrayLiteralElement)}function parseArrayLiteralExpression(){var e=createNode(170);parseExpected(19);r.hasPrecedingLineBreak()&&(e.multiLine=true);e.elements=parseDelimitedList(15,parseArgumentOrArrayLiteralElement);parseExpected(20);return finishNode(e)}function tryParseAccessorDeclaration(e,t,r){return parseContextualModifier(123)?addJSDocComment(parseAccessorDeclaration(149,e,t,r)):parseContextualModifier(131)?parseAccessorDeclaration(150,e,t,r):void 0}function parseObjectLiteralElement(){var e=r.getStartPos();var t=parseDecorators();var n=parseModifiers();var a=tryParseAccessorDeclaration(e,t,n);if(a)return a;var i=parseOptionalToken(37);var o=isIdentifier();var s=parsePropertyName();var c=parseOptionalToken(53);if(i||17===l||25===l)return parseMethodDeclaration(e,t,n,i,s,c);var u=o&&(24===l||16===l||56===l);if(u){var _=createNode(254,e);_.name=s;_.questionToken=c;var d=parseOptionalToken(56);if(d){_.equalsToken=d;_.objectAssignmentInitializer=allowInAnd(parseAssignmentExpressionOrHigher)}return addJSDocComment(finishNode(_))}var p=createNode(253,e);p.modifiers=n;p.name=s;p.questionToken=c;parseExpected(54);p.initializer=allowInAnd(parseAssignmentExpressionOrHigher);return addJSDocComment(finishNode(p))}function parseObjectLiteralExpression(){var e=createNode(171);parseExpected(15);r.hasPrecedingLineBreak()&&(e.multiLine=true);e.properties=parseDelimitedList(12,parseObjectLiteralElement,true);parseExpected(16);return finishNode(e)}function parseFunctionExpression(){var e=inDecoratorContext();e&&setDecoratorContext(false);var t=createNode(179);setModifiers(t,parseModifiers());parseExpected(87);t.asteriskToken=parseOptionalToken(37);var r=!!t.asteriskToken;var n=!!(256&t.flags);t.name=r&&n?doInYieldAndAwaitContext(parseOptionalIdentifier):r?doInYieldContext(parseOptionalIdentifier):n?doInAwaitContext(parseOptionalIdentifier):parseOptionalIdentifier();fillSignature(54,r,n,false,t);t.body=parseFunctionBlock(r,n,false);e&&setDecoratorContext(true);return addJSDocComment(finishNode(t))}function parseOptionalIdentifier(){return isIdentifier()?parseIdentifier():void 0}function parseNewExpression(){var e=createNode(175);parseExpected(92);e.expression=parseMemberExpressionOrHigher();e.typeArguments=tryParse(parseTypeArgumentsInExpression);(e.typeArguments||17===l)&&(e.arguments=parseArgumentList());return finishNode(e)}function parseBlock(e,t){var r=createNode(199);if(parseExpected(15,t)||e){r.statements=parseList(1,parseStatement);parseExpected(16)}else r.statements=createMissingList();return finishNode(r)}function parseFunctionBlock(e,t,r,n){var a=inYieldContext();setYieldContext(e);var i=inAwaitContext();setAwaitContext(t);var o=inDecoratorContext();o&&setDecoratorContext(false);var s=parseBlock(r,n);o&&setDecoratorContext(true);setYieldContext(a);setAwaitContext(i);return s}function parseEmptyStatement(){var e=createNode(201);parseExpected(23);return finishNode(e)}function parseIfStatement(){var e=createNode(203);parseExpected(88);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);e.thenStatement=parseStatement();e.elseStatement=parseOptional(80)?parseStatement():void 0;return finishNode(e)}function parseDoStatement(){var e=createNode(204);parseExpected(79);e.statement=parseStatement();parseExpected(104);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);parseOptional(23);return finishNode(e)}function parseWhileStatement(){var e=createNode(205);parseExpected(104);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);e.statement=parseStatement();return finishNode(e)}function parseForOrForInOrForOfStatement(){var e=getNodePos();parseExpected(86);parseExpected(17);var t=void 0;23!==l&&(t=102===l||108===l||74===l?parseVariableDeclarationList(true):disallowInAnd(parseExpression));var r;if(parseOptional(90)){var n=createNode(207,e);n.initializer=t;n.expression=allowInAnd(parseExpression);parseExpected(18);r=n}else if(parseOptional(138)){var a=createNode(208,e);a.initializer=t;a.expression=allowInAnd(parseAssignmentExpressionOrHigher);parseExpected(18);r=a}else{var i=createNode(206,e);i.initializer=t;parseExpected(23);23!==l&&18!==l&&(i.condition=allowInAnd(parseExpression));parseExpected(23);18!==l&&(i.incrementor=allowInAnd(parseExpression));parseExpected(18);r=i}r.statement=parseStatement();return finishNode(r)}function parseBreakOrContinueStatement(e){var t=createNode(e);parseExpected(210===e?70:75);canParseSemicolon()||(t.label=parseIdentifier());parseSemicolon();return finishNode(t)}function parseReturnStatement(){var e=createNode(211);parseExpected(94);canParseSemicolon()||(e.expression=allowInAnd(parseExpression));parseSemicolon();return finishNode(e)}function parseWithStatement(){var e=createNode(212);parseExpected(105);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);e.statement=parseStatement();return finishNode(e)}function parseCaseClause(){var e=createNode(249);parseExpected(71);e.expression=allowInAnd(parseExpression);parseExpected(54);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseDefaultClause(){var e=createNode(250);parseExpected(77);parseExpected(54);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseCaseOrDefaultClause(){return 71===l?parseCaseClause():parseDefaultClause()}function parseSwitchStatement(){var e=createNode(213);parseExpected(96);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);var t=createNode(227,r.getStartPos());parseExpected(15);t.clauses=parseList(2,parseCaseOrDefaultClause);parseExpected(16);e.caseBlock=finishNode(t);return finishNode(e)}function parseThrowStatement(){var e=createNode(215);parseExpected(98);e.expression=r.hasPrecedingLineBreak()?void 0:allowInAnd(parseExpression);parseSemicolon();return finishNode(e)}function parseTryStatement(){var e=createNode(216);parseExpected(100);e.tryBlock=parseBlock(false);e.catchClause=72===l?parseCatchClause():void 0;if(!e.catchClause||85===l){parseExpected(85);e.finallyBlock=parseBlock(false)}return finishNode(e)}function parseCatchClause(){var e=createNode(252);parseExpected(72);parseExpected(17)&&(e.variableDeclaration=parseVariableDeclaration());parseExpected(18);e.block=parseBlock(false);return finishNode(e)}function parseDebuggerStatement(){var e=createNode(217);parseExpected(76);parseSemicolon();return finishNode(e)}function parseExpressionOrLabeledStatement(){var e=r.getStartPos();var t=allowInAnd(parseExpression);if(69===t.kind&&parseOptional(54)){var n=createNode(214,e);n.label=t;n.statement=parseStatement();return addJSDocComment(finishNode(n))}var a=createNode(202,e);a.expression=t;parseSemicolon();return addJSDocComment(finishNode(a))}function nextTokenIsIdentifierOrKeywordOnSameLine(){nextToken();return e.tokenIsIdentifierOrKeyword(l)&&!r.hasPrecedingLineBreak()}function nextTokenIsFunctionKeywordOnSameLine(){nextToken();return 87===l&&!r.hasPrecedingLineBreak()}function nextTokenIsIdentifierOrKeywordOrNumberOnSameLine(){nextToken();return(e.tokenIsIdentifierOrKeyword(l)||8===l)&&!r.hasPrecedingLineBreak()}function isDeclaration(){while(true)switch(l){case 102:case 108:case 74:case 87:case 73:case 81:return true;case 107:case 134:return nextTokenIsIdentifierOnSameLine();case 125:case 126:return nextTokenIsIdentifierOrStringLiteralOnSameLine();case 115:case 118:case 122:case 110:case 111:case 112:case 128:nextToken();if(r.hasPrecedingLineBreak())return false;continue;case 137:nextToken();return 15===l||69===l||82===l;case 89:nextToken();return 9===l||37===l||15===l||e.tokenIsIdentifierOrKeyword(l);case 82:nextToken();if(56===l||37===l||15===l||77===l||116===l)return true;continue;case 113:nextToken();continue;default:return false}}function isStartOfDeclaration(){return lookAhead(isDeclaration)}function isStartOfStatement(){switch(l){case 55:case 23:case 15:case 102:case 108:case 87:case 73:case 81:case 88:case 79:case 104:case 86:case 75:case 70:case 94:case 105:case 96:case 98:case 100:case 76:case 72:case 85:return true;case 74:case 82:case 89:return isStartOfDeclaration();case 118:case 122:case 107:case 125:case 126:case 134:case 137:return true;case 112:case 110:case 111:case 113:case 128:return isStartOfDeclaration()||!lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);default:return isStartOfExpression()}}function nextTokenIsIdentifierOrStartOfDestructuring(){nextToken();return isIdentifier()||15===l||19===l}function isLetDeclaration(){return lookAhead(nextTokenIsIdentifierOrStartOfDestructuring)}function parseStatement(){switch(l){case 23:return parseEmptyStatement();case 15:return parseBlock(false);case 102:return parseVariableStatement(r.getStartPos(),void 0,void 0);case 108:if(isLetDeclaration())return parseVariableStatement(r.getStartPos(),void 0,void 0);break;case 87:return parseFunctionDeclaration(r.getStartPos(),void 0,void 0);case 73:return parseClassDeclaration(r.getStartPos(),void 0,void 0);case 88:return parseIfStatement();case 79:return parseDoStatement();case 104:return parseWhileStatement();case 86:return parseForOrForInOrForOfStatement();case 75:return parseBreakOrContinueStatement(209);case 70:return parseBreakOrContinueStatement(210);case 94:return parseReturnStatement();case 105:return parseWithStatement();case 96:return parseSwitchStatement();case 98:return parseThrowStatement();case 100:case 72:case 85:return parseTryStatement();case 76:return parseDebuggerStatement();case 55:return parseDeclaration();case 118:case 107:case 134:case 125:case 126:case 122:case 74:case 81:case 82:case 89:case 110:case 111:case 112:case 115:case 113:case 128:case 137:if(isStartOfDeclaration())return parseDeclaration();break}return parseExpressionOrLabeledStatement()}function parseDeclaration(){var t=getNodePos();var r=parseDecorators();var n=parseModifiers();switch(l){case 102:case 108:case 74:return parseVariableStatement(t,r,n);case 87:return parseFunctionDeclaration(t,r,n);case 73:return parseClassDeclaration(t,r,n);case 107:return parseInterfaceDeclaration(t,r,n);case 134:return parseTypeAliasDeclaration(t,r,n);case 81:return parseEnumDeclaration(t,r,n);case 137:case 125:case 126:return parseModuleDeclaration(t,r,n);case 89:return parseImportDeclarationOrImportEqualsDeclaration(t,r,n);case 82:nextToken();switch(l){case 77:case 56:return parseExportAssignment(t,r,n);case 116:return parseNamespaceExportDeclaration(t,r,n);default:return parseExportDeclaration(t,r,n)}default:if(r||n){var a=createMissingNode(239,true,e.Diagnostics.Declaration_expected);a.pos=t;a.decorators=r;setModifiers(a,n);return finishNode(a)}}}function nextTokenIsIdentifierOrStringLiteralOnSameLine(){nextToken();return!r.hasPrecedingLineBreak()&&(isIdentifier()||9===l)}function parseFunctionBlockOrSemicolon(e,t,r){if(15===l||!canParseSemicolon())return parseFunctionBlock(e,t,false,r);parseSemicolon()}function parseArrayBindingElement(){if(24===l)return createNode(193);var e=createNode(169);e.dotDotDotToken=parseOptionalToken(22);e.name=parseIdentifierOrPattern();e.initializer=parseBindingElementInitializer(false);return finishNode(e)}function parseObjectBindingElement(){var e=createNode(169);var t=isIdentifier();var r=parsePropertyName();if(t&&54!==l)e.name=r;else{parseExpected(54);e.propertyName=r;e.name=parseIdentifierOrPattern()}e.initializer=parseBindingElementInitializer(false);return finishNode(e)}function parseObjectBindingPattern(){var e=createNode(167);parseExpected(15);e.elements=parseDelimitedList(9,parseObjectBindingElement);parseExpected(16);return finishNode(e)}function parseArrayBindingPattern(){var e=createNode(168);parseExpected(19);e.elements=parseDelimitedList(10,parseArrayBindingElement);parseExpected(20);return finishNode(e)}function isIdentifierOrPattern(){return 15===l||19===l||isIdentifier()}function parseIdentifierOrPattern(){return 19===l?parseArrayBindingPattern():15===l?parseObjectBindingPattern():parseIdentifier()}function parseVariableDeclaration(){var e=createNode(218);e.name=parseIdentifierOrPattern();e.type=parseTypeAnnotation();isInOrOfKeyword(l)||(e.initializer=parseInitializer(false));return finishNode(e)}function parseVariableDeclarationList(t){var r=createNode(219);switch(l){case 102:break;case 108:r.flags|=1024;break;case 74:r.flags|=2048;break;default:e.Debug.fail()}nextToken();if(138===l&&lookAhead(canFollowContextualOfKeyword))r.declarations=createMissingList();else{var n=inDisallowInContext();setDisallowInContext(t);r.declarations=parseDelimitedList(8,parseVariableDeclaration);setDisallowInContext(n)}return finishNode(r)}function canFollowContextualOfKeyword(){return nextTokenIsIdentifier()&&18===nextToken()}function parseVariableStatement(e,t,r){var n=createNode(200,e);n.decorators=t;setModifiers(n,r);n.declarationList=parseVariableDeclarationList(false);parseSemicolon();return addJSDocComment(finishNode(n))}function parseFunctionDeclaration(t,r,n){var a=createNode(220,t);a.decorators=r;setModifiers(a,n);parseExpected(87);a.asteriskToken=parseOptionalToken(37);a.name=512&a.flags?parseOptionalIdentifier():parseIdentifier();var i=!!a.asteriskToken;var o=!!(256&a.flags);fillSignature(54,i,o,false,a);a.body=parseFunctionBlockOrSemicolon(i,o,e.Diagnostics.or_expected);return addJSDocComment(finishNode(a))}function parseConstructorDeclaration(t,r,n){var a=createNode(148,t);a.decorators=r;setModifiers(a,n);parseExpected(121);fillSignature(54,false,false,false,a);a.body=parseFunctionBlockOrSemicolon(false,false,e.Diagnostics.or_expected);return addJSDocComment(finishNode(a))}function parseMethodDeclaration(e,t,r,n,a,i,o){var s=createNode(147,e);s.decorators=t;setModifiers(s,r);s.asteriskToken=n;s.name=a;s.questionToken=i;var c=!!n;var l=!!(256&s.flags);fillSignature(54,c,l,false,s);s.body=parseFunctionBlockOrSemicolon(c,l,o);return addJSDocComment(finishNode(s))}function parsePropertyDeclaration(e,t,r,n,a){var i=createNode(145,e);i.decorators=t;setModifiers(i,r);i.name=n;i.questionToken=a;i.type=parseTypeAnnotation();i.initializer=r&&32&r.flags?allowInAnd(parseNonParameterInitializer):doOutsideOfContext(8388608|4194304,parseNonParameterInitializer);parseSemicolon();return finishNode(i)}function parsePropertyOrMethodDeclaration(t,r,n){var a=parseOptionalToken(37);var i=parsePropertyName();var o=parseOptionalToken(53);return a||17===l||25===l?parseMethodDeclaration(t,r,n,a,i,o,e.Diagnostics.or_expected):parsePropertyDeclaration(t,r,n,i,o)}function parseNonParameterInitializer(){return parseInitializer(false)}function parseAccessorDeclaration(e,t,r,n){var a=createNode(e,t);a.decorators=r;setModifiers(a,n);a.name=parsePropertyName();fillSignature(54,false,false,false,a);a.body=parseFunctionBlockOrSemicolon(false,false);return finishNode(a)}function isClassMemberModifier(e){switch(e){case 112:case 110:case 111:case 113:case 128:return true;default:return false}}function isClassMemberStart(){var t;if(55===l)return true;while(e.isModifierKind(l)){t=l;if(isClassMemberModifier(t))return true;nextToken()}if(37===l)return true;if(isLiteralPropertyName()){t=l;nextToken()}if(19===l)return true;if(void 0!==t){if(!e.isKeyword(t)||131===t||123===t)return true;switch(l){case 17:case 25:case 54:case 56:case 53:return true;default:return canParseSemicolon()}}return false}function parseDecorators(){var e;while(true){var t=getNodePos();if(!parseOptional(55))break;if(!e){e=[];e.pos=t}var r=createNode(143,t);r.expression=doInDecoratorContext(parseLeftHandSideExpressionOrHigher);e.push(finishNode(r))}e&&(e.end=getNodeEnd());return e}function parseModifiers(t){var n=0;var a;while(true){var i=r.getStartPos();var o=l;if(74===l&&t){if(!tryParse(nextTokenIsOnSameLineAndCanFollowModifier))break}else if(!parseAnyContextualModifier())break;if(!a){a=[];a.pos=i}n|=e.modifierToFlag(o);a.push(finishNode(createNode(o,i)))}if(a){a.flags=n;a.end=r.getStartPos()}return a}function parseModifiersForArrowFunction(){var t=0;var n;if(118===l){var a=r.getStartPos();var i=l;nextToken();n=[];n.pos=a;t|=e.modifierToFlag(i);n.push(finishNode(createNode(i,a)));n.flags=t;n.end=r.getStartPos()}return n}function parseClassElement(){if(23===l){var t=createNode(198);nextToken();return finishNode(t)}var r=getNodePos();var n=parseDecorators();var a=parseModifiers(true);var i=tryParseAccessorDeclaration(r,n,a);if(i)return i;if(121===l)return parseConstructorDeclaration(r,n,a);if(isIndexSignature())return parseIndexSignatureDeclaration(r,n,a);if(e.tokenIsIdentifierOrKeyword(l)||9===l||8===l||37===l||19===l)return parsePropertyOrMethodDeclaration(r,n,a);if(n||a){var o=createMissingNode(69,true,e.Diagnostics.Declaration_expected);return parsePropertyDeclaration(r,n,a,o,void 0)}e.Debug.fail("Should not have attempted to parse class member declaration.")}function parseClassExpression(){return parseClassDeclarationOrExpression(r.getStartPos(),void 0,void 0,192)}function parseClassDeclaration(e,t,r){return parseClassDeclarationOrExpression(e,t,r,221)}function parseClassDeclarationOrExpression(e,t,r,n){var a=createNode(n,e);a.decorators=t;setModifiers(a,r);parseExpected(73);a.name=parseNameOfClassDeclarationOrExpression();a.typeParameters=parseTypeParameters();a.heritageClauses=parseHeritageClauses(true);if(parseExpected(15)){a.members=parseClassMembers();parseExpected(16)}else a.members=createMissingList();return finishNode(a)}function parseNameOfClassDeclarationOrExpression(){return isIdentifier()&&!isImplementsClause()?parseIdentifier():void 0}function isImplementsClause(){return 106===l&&lookAhead(nextTokenIsIdentifierOrKeyword)}function parseHeritageClauses(e){if(isHeritageClause())return parseList(20,parseHeritageClause)}function parseHeritageClause(){if(83===l||106===l){var e=createNode(251);e.token=l;nextToken();e.types=parseDelimitedList(7,parseExpressionWithTypeArguments);return finishNode(e)}}function parseExpressionWithTypeArguments(){var e=createNode(194);e.expression=parseLeftHandSideExpressionOrHigher();25===l&&(e.typeArguments=parseBracketedList(18,parseType,25,27));return finishNode(e)}function isHeritageClause(){return 83===l||106===l}function parseClassMembers(){return parseList(5,parseClassElement)}function parseInterfaceDeclaration(e,t,r){var n=createNode(222,e);n.decorators=t;setModifiers(n,r);parseExpected(107);n.name=parseIdentifier();n.typeParameters=parseTypeParameters();n.heritageClauses=parseHeritageClauses(false);n.members=parseObjectTypeMembers();return finishNode(n)}function parseTypeAliasDeclaration(e,t,r){var n=createNode(223,e);n.decorators=t;setModifiers(n,r);parseExpected(134);n.name=parseIdentifier();n.typeParameters=parseTypeParameters();parseExpected(56);n.type=parseType();parseSemicolon();return finishNode(n)}function parseEnumMember(){var e=createNode(255,r.getStartPos());e.name=parsePropertyName();e.initializer=allowInAnd(parseNonParameterInitializer);return finishNode(e)}function parseEnumDeclaration(e,t,r){var n=createNode(224,e);n.decorators=t;setModifiers(n,r);parseExpected(81);n.name=parseIdentifier();if(parseExpected(15)){n.members=parseDelimitedList(6,parseEnumMember);parseExpected(16)}else n.members=createMissingList();return finishNode(n)}function parseModuleBlock(){var e=createNode(226,r.getStartPos());if(parseExpected(15)){e.statements=parseList(1,parseStatement);parseExpected(16)}else e.statements=createMissingList();return finishNode(e)}function parseModuleOrNamespaceDeclaration(e,t,r,n){var a=createNode(225,e);var i=4096&n;a.decorators=t;setModifiers(a,r);a.flags|=n;a.name=parseIdentifier();a.body=parseOptional(21)?parseModuleOrNamespaceDeclaration(getNodePos(),void 0,void 0,1|i):parseModuleBlock();return finishNode(a)}function parseAmbientExternalModuleDeclaration(e,t,r){var n=createNode(225,e);n.decorators=t;setModifiers(n,r);if(137===l){n.name=parseIdentifier();n.flags|=131072}else n.name=parseLiteralNode(true);15===l?n.body=parseModuleBlock():parseSemicolon();return finishNode(n)}function parseModuleDeclaration(e,t,r){var n=r?r.flags:0;if(137===l)return parseAmbientExternalModuleDeclaration(e,t,r);if(parseOptional(126))n|=4096;else{parseExpected(125);if(9===l)return parseAmbientExternalModuleDeclaration(e,t,r)}return parseModuleOrNamespaceDeclaration(e,t,r,n)}function isExternalModuleReference(){return 129===l&&lookAhead(nextTokenIsOpenParen)}function nextTokenIsOpenParen(){return 17===nextToken()}function nextTokenIsSlash(){return 39===nextToken()}function parseNamespaceExportDeclaration(e,t,r){var n=createNode(228,e);n.decorators=t;n.modifiers=r;parseExpected(116);parseExpected(126);n.name=parseIdentifier();parseExpected(23);return finishNode(n)}function parseImportDeclarationOrImportEqualsDeclaration(e,t,n){parseExpected(89);var a=r.getStartPos();var i;if(isIdentifier()){i=parseIdentifier();if(24!==l&&136!==l){var o=createNode(229,e);o.decorators=t;setModifiers(o,n);o.name=i;parseExpected(56);o.moduleReference=parseModuleReference();parseSemicolon();return finishNode(o)}}var s=createNode(230,e);s.decorators=t;setModifiers(s,n);if(i||37===l||15===l){s.importClause=parseImportClause(i,a);parseExpected(136)}s.moduleSpecifier=parseModuleSpecifier();parseSemicolon();return finishNode(s)}function parseImportClause(e,t){var r=createNode(231,t);e&&(r.name=e);r.name&&!parseOptional(24)||(r.namedBindings=37===l?parseNamespaceImport():parseNamedImportsOrExports(233));return finishNode(r)}function parseModuleReference(){return isExternalModuleReference()?parseExternalModuleReference():parseEntityName(false)}function parseExternalModuleReference(){var e=createNode(240);parseExpected(129);parseExpected(17);e.expression=parseModuleSpecifier();parseExpected(18);return finishNode(e)}function parseModuleSpecifier(){if(9===l){var e=parseLiteralNode();internIdentifier(e.text);return e}return parseExpression()}function parseNamespaceImport(){var e=createNode(232);parseExpected(37);parseExpected(116);e.name=parseIdentifier();return finishNode(e)}function parseNamedImportsOrExports(e){var t=createNode(e);t.elements=parseBracketedList(21,233===e?parseImportSpecifier:parseExportSpecifier,15,16);return finishNode(t)}function parseExportSpecifier(){return parseImportOrExportSpecifier(238)}function parseImportSpecifier(){return parseImportOrExportSpecifier(234)}function parseImportOrExportSpecifier(t){var n=createNode(t);var a=e.isKeyword(l)&&!isIdentifier();var i=r.getTokenPos();var o=r.getTextPos();var s=parseIdentifierName();if(116===l){n.propertyName=s;parseExpected(116);a=e.isKeyword(l)&&!isIdentifier();i=r.getTokenPos();o=r.getTextPos();n.name=parseIdentifierName()}else n.name=s;234===t&&a&&parseErrorAtPosition(i,o-i,e.Diagnostics.Identifier_expected);return finishNode(n)}function parseExportDeclaration(e,t,n){var a=createNode(236,e);a.decorators=t;setModifiers(a,n);if(parseOptional(37)){parseExpected(136);a.moduleSpecifier=parseModuleSpecifier()}else{a.exportClause=parseNamedImportsOrExports(237);if(136===l||9===l&&!r.hasPrecedingLineBreak()){parseExpected(136);a.moduleSpecifier=parseModuleSpecifier()}}parseSemicolon();return finishNode(a)}function parseExportAssignment(e,t,r){var n=createNode(235,e);n.decorators=t;setModifiers(n,r);parseOptional(56)?n.isExportEquals=true:parseExpected(77);n.expression=parseAssignmentExpressionOrHigher();parseSemicolon();return finishNode(n)}function processReferenceComments(t){var r=e.createScanner(t.languageVersion,false,0,u);var n=[];var a=[];var i=[];var o;while(true){var c=r.scan();if(2!==c){if(e.isTrivia(c))continue;break}var l={pos:r.getTokenPos(),end:r.getTextPos(),kind:r.getToken()};var _=u.substring(l.pos,l.end);var d=e.getFileReferenceFromReferencePath(_,l);if(d){var p=d.fileReference;t.hasNoDefaultLib=d.isNoDefaultLib;var m=d.diagnosticMessage;p&&(d.isTypeReferenceDirective?a.push(p):n.push(p));m&&s.push(e.createFileDiagnostic(t,l.pos,l.end-l.pos,m))}else{var g=/^\/\/\/\s*".length;return parseErrorAtPosition(r,n-r,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function parseQualifiedName(e){var t=createNode(139,e.pos);t.left=e;t.right=parseIdentifierName();return finishNode(t)}function parseJSDocRecordType(){var e=createNode(265);nextToken();e.members=parseDelimitedList(24,parseJSDocRecordMember);checkForTrailingComma(e.members);parseExpected(16);return finishNode(e)}function parseJSDocRecordMember(){var e=createNode(266);e.name=parseSimplePropertyName();if(54===l){nextToken();e.type=parseJSDocType()}return finishNode(e)}function parseJSDocNonNullableType(){var e=createNode(264);nextToken();e.type=parseJSDocType();return finishNode(e)}function parseJSDocTupleType(){var e=createNode(262);nextToken();e.types=parseDelimitedList(25,parseJSDocType);checkForTrailingComma(e.types);parseExpected(20);return finishNode(e)}function checkForTrailingComma(t){if(0===s.length&&t.hasTrailingComma){var r=t.end-",".length;parseErrorAtPosition(r,",".length,e.Diagnostics.Trailing_comma_not_allowed)}}function parseJSDocUnionType(){var e=createNode(261);nextToken();e.types=parseJSDocTypeList(parseJSDocType());parseExpected(18);return finishNode(e)}function parseJSDocTypeList(t){e.Debug.assert(!!t);var n=[];n.pos=t.pos;n.push(t);while(parseOptional(47))n.push(parseJSDocType());n.end=r.getStartPos();return n}function parseJSDocAllType(){var e=createNode(258);nextToken();return finishNode(e)}function parseJSDocUnknownOrNullableType(){var e=r.getStartPos();nextToken();if(24===l||16===l||18===l||27===l||56===l||47===l){var t=createNode(259,e);return finishNode(t)}var t=createNode(263,e);t.type=parseJSDocType();return finishNode(t)}function parseIsolatedJSDocComment(e,t,r){initializeState("file.js",e,2,void 0,1);o={languageVariant:0,text:e};var n=parseJSDocCommentWorker(t,r);var a=s;clearState();return n?{jsDocComment:n,diagnostics:a}:void 0}t.parseIsolatedJSDocComment=parseIsolatedJSDocComment;function parseJSDocComment(e,t,r){var n=l;var a=s.length;var i=f;var o=parseJSDocCommentWorker(t,r);o&&(o.parent=e);l=n;s.length=a;f=i;return o}t.parseJSDocComment=parseJSDocComment;function parseJSDocCommentWorker(t,n){var a=u;t=t||0;var i=void 0===n?a.length:t+n;n=i-t;e.Debug.assert(t>=0);e.Debug.assert(t<=i);e.Debug.assert(i<=a.length);var o;var s;47===a.charCodeAt(t)&&42===a.charCodeAt(t+1)&&42===a.charCodeAt(t+2)&&42!==a.charCodeAt(t+3)&&r.scanRange(t+3,n-5,(function(){var e=true;var t=true;nextJSDocToken();while(1!==l){switch(l){case 55:e&&parseTag();t=false;break;case 4:e=true;t=false;break;case 37:t&&(e=false);t=true;break;case 69:e=false;break;case 1:break}nextJSDocToken()}s=createJSDocComment()}));return s;function createJSDocComment(){if(o){var e=createNode(273,t);e.tags=o;return finishNode(e,i)}}function skipWhitespace(){while(5===l||4===l)nextJSDocToken()}function parseTag(){e.Debug.assert(55===l);var t=createNode(55,r.getTokenPos());t.end=r.getTextPos();nextJSDocToken();var n=parseJSDocIdentifierName();if(n){var a=handleTag(t,n)||handleUnknownTag(t,n);addTag(a)}}function handleTag(e,t){if(t)switch(t.text){case"param":return handleParamTag(e,t);case"return":case"returns":return handleReturnTag(e,t);case"template":return handleTemplateTag(e,t);case"type":return handleTypeTag(e,t);case"typedef":return handleTypedefTag(e,t)}}function handleUnknownTag(e,t){var r=createNode(274,e.pos);r.atToken=e;r.tagName=t;return finishNode(r)}function addTag(e){if(e){if(!o){o=[];o.pos=e.pos}o.push(e);o.end=e.end}}function tryParseTypeExpression(){if(15===l){var e=parseJSDocTypeExpression();return e}}function handleParamTag(t,n){var a=tryParseTypeExpression();skipWhitespace();var i;var o;if(parseOptionalToken(19)){i=parseJSDocIdentifierName();o=true;parseOptionalToken(56)&&parseExpression();parseExpected(20)}else e.tokenIsIdentifierOrKeyword(l)&&(i=parseJSDocIdentifierName());if(i){var s,c;a?c=i:s=i;a||(a=tryParseTypeExpression());var u=createNode(275,t.pos);u.atToken=t;u.tagName=n;u.preParameterName=s;u.typeExpression=a;u.postParameterName=c;u.isBracketed=o;return finishNode(u)}parseErrorAtPosition(r.getStartPos(),0,e.Diagnostics.Identifier_expected)}function handleReturnTag(t,n){e.forEach(o,(function(e){return 276===e.kind}))&&parseErrorAtPosition(n.pos,r.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var a=createNode(276,t.pos);a.atToken=t;a.tagName=n;a.typeExpression=tryParseTypeExpression();return finishNode(a)}function handleTypeTag(t,n){e.forEach(o,(function(e){return 277===e.kind}))&&parseErrorAtPosition(n.pos,r.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var a=createNode(277,t.pos);a.atToken=t;a.tagName=n;a.typeExpression=tryParseTypeExpression();return finishNode(a)}function handlePropertyTag(t,n){var a=tryParseTypeExpression();skipWhitespace();var i=parseJSDocIdentifierName();if(i){var o=createNode(280,t.pos);o.atToken=t;o.tagName=n;o.name=i;o.typeExpression=a;return finishNode(o)}parseErrorAtPosition(r.getStartPos(),0,e.Diagnostics.Identifier_expected)}function handleTypedefTag(e,t){var n=tryParseTypeExpression();skipWhitespace();var a=createNode(279,e.pos);a.atToken=e;a.tagName=t;a.name=parseJSDocIdentifierName();a.typeExpression=n;if(n){if(267===n.type.kind){var i=n.type;if(69===i.name.kind){var o=i.name;"Object"===o.text&&(a.jsDocTypeLiteral=scanChildTags())}}a.jsDocTypeLiteral||(a.jsDocTypeLiteral=n.type)}else a.jsDocTypeLiteral=scanChildTags();return finishNode(a);function scanChildTags(){var e=createNode(281,r.getStartPos());var t=r.getStartPos();var n=true;var a=false;var i=false;while(1!==l&&!i){nextJSDocToken();switch(l){case 55:n&&(i=!tryParseChildTag(e));a=false;break;case 4:t=r.getStartPos()-1;n=true;a=false;break;case 37:a&&(n=false);a=true;break;case 69:n=false;case 1:break}}r.setTextPos(t);return finishNode(e)}}function tryParseChildTag(t){e.Debug.assert(55===l);var n=createNode(55,r.getStartPos());n.end=r.getTextPos();nextJSDocToken();var a=parseJSDocIdentifierName();if(!a)return false;switch(a.text){case"type":if(t.jsDocTypeTag)return false;t.jsDocTypeTag=handleTypeTag(n,a);return true;case"prop":case"property":t.jsDocPropertyTags||(t.jsDocPropertyTags=[]);var i=handlePropertyTag(n,a);t.jsDocPropertyTags.push(i);return true}return false}function handleTemplateTag(t,n){e.forEach(o,(function(e){return 278===e.kind}))&&parseErrorAtPosition(n.pos,r.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var a=[];a.pos=r.getStartPos();while(true){var i=parseJSDocIdentifierName();if(!i){parseErrorAtPosition(r.getStartPos(),0,e.Diagnostics.Identifier_expected);return}var s=createNode(141,i.pos);s.name=i;finishNode(s);a.push(s);if(24!==l)break;nextJSDocToken()}var c=createNode(278,t.pos);c.atToken=t;c.tagName=n;c.typeParameters=a;finishNode(c);a.end=c.end;return c}function nextJSDocToken(){return l=r.scanJSDocToken()}function parseJSDocIdentifierName(){return createJSDocIdentifier(e.tokenIsIdentifierOrKeyword(l))}function createJSDocIdentifier(t){if(t){var n=r.getTokenPos();var i=r.getTextPos();var o=createNode(69,n);o.text=a.substring(n,i);finishNode(o,i);nextJSDocToken();return o}parseErrorAtCurrentToken(e.Diagnostics.Identifier_expected)}}t.parseJSDocCommentWorker=parseJSDocCommentWorker})(v=t.JSDocParser||(t.JSDocParser={}))})(n||(n={}));var a;(function(t){function updateSourceFile(t,r,a,i){i=i||e.Debug.shouldAssert(2);checkChangeRange(t,r,a,i);if(e.textChangeRangeIsUnchanged(a))return t;if(0===t.statements.length)return n.parseSourceFile(t.fileName,r,t.languageVersion,void 0,true,t.scriptKind);var o=t;e.Debug.assert(!o.hasBeenIncrementallyParsed);o.hasBeenIncrementallyParsed=true;var s=t.text;var c=createSyntaxCursor(t);var l=extendToAffectedRange(t,a);checkChangeRange(t,r,l,i);e.Debug.assert(l.span.start<=a.span.start);e.Debug.assert(e.textSpanEnd(l.span)===e.textSpanEnd(a.span));e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(l))===e.textSpanEnd(e.textChangeRangeNewSpan(a)));var u=e.textChangeRangeNewSpan(l).length-l.span.length;updateTokenPositionsAndMarkElements(o,l.span.start,e.textSpanEnd(l.span),e.textSpanEnd(e.textChangeRangeNewSpan(l)),u,s,r,i);var _=n.parseSourceFile(t.fileName,r,t.languageVersion,c,true,t.scriptKind);return _}t.updateSourceFile=updateSourceFile;function moveElementEntirelyPastChangeRange(t,r,n,a,i,o){r?visitArray(t):visitNode(t);return;function visitNode(t){var r="";o&&shouldCheckNode(t)&&(r=a.substring(t.pos,t.end));t._children&&(t._children=void 0);t.pos+=n;t.end+=n;o&&shouldCheckNode(t)&&e.Debug.assert(r===i.substring(t.pos,t.end));forEachChild(t,visitNode,visitArray);if(t.jsDocComments)for(var s=0,c=t.jsDocComments;s=r,"Adjusting an element that was entirely before the change range");e.Debug.assert(t.pos<=n,"Adjusting an element that was entirely after the change range");e.Debug.assert(t.pos<=t.end);t.pos=Math.min(t.pos,a);t.end>=n?t.end+=i:t.end=Math.min(t.end,a);e.Debug.assert(t.pos<=t.end);if(t.parent){e.Debug.assert(t.pos>=t.parent.pos);e.Debug.assert(t.end<=t.parent.end)}}function checkNodePositions(t,r){if(r){var n=t.pos;forEachChild(t,(function(t){e.Debug.assert(t.pos>=n);n=t.end}));e.Debug.assert(n<=t.end)}}function updateTokenPositionsAndMarkElements(t,r,n,a,i,o,s,c){visitNode(t);return;function visitNode(t){e.Debug.assert(t.pos<=t.end);if(t.pos>n)moveElementEntirelyPastChangeRange(t,false,i,o,s,c);else{var l=t.end;if(l>=r){t.intersectsChange=true;t._children=void 0;adjustIntersectingElement(t,r,n,a,i);forEachChild(t,visitNode,visitArray);checkNodePositions(t,c)}else e.Debug.assert(ln)moveElementEntirelyPastChangeRange(t,true,i,o,s,c);else{var l=t.end;if(l>=r){t.intersectsChange=true;t._children=void 0;adjustIntersectingElement(t,r,n,a,i);for(var u=0,_=t;u<_.length;u++){var d=_[u];visitNode(d)}}else e.Debug.assert(l0&&i<=n;i++){var o=findNearestNodeStartingBeforeOrAtPosition(t,a);e.Debug.assert(o.pos<=a);var s=o.pos;a=Math.max(0,s-1)}var c=e.createTextSpanFromBounds(a,e.textSpanEnd(r.span));var l=r.newLength+(r.span.start-a);return e.createTextChangeRange(c,l)}function findNearestNodeStartingBeforeOrAtPosition(t,r){var n=t;var a;forEachChild(t,visit);if(a){var i=getLastChild(a);i.pos>n.pos&&(n=i)}return n;function getLastChild(e){while(true){var t=getLastChildWorker(e);if(!t)return e;e=t}}function getLastChildWorker(t){var r=void 0;forEachChild(t,(function(t){e.nodeIsPresent(t)&&(r=t)}));return r}function visit(t){if(!e.nodeIsMissing(t)){if(!(t.pos<=r)){e.Debug.assert(t.pos>r);return true}t.pos>=n.pos&&(n=t);if(r=t.pos&&e=t.pos&&e0){var s=i.declarationList.declarations[0].name;69===s.kind&&(o=s.text)}return o}}function getDisplayName(t){return t.name?e.declarationNameToString(t.name):getDeclarationName(t)}function declareSymbol(r,n,a,i,o){e.Debug.assert(!e.hasDynamicName(a));var s=512&a.flags;var c=s&&n?"default":getDeclarationName(a);var l;if(void 0!==c){l=e.hasProperty(r,c)?r[c]:r[c]=createSymbol(0,c);c&&788448&i&&(k[c]=c);if(l.flags&o){a.name&&(a.name.parent=a);var u=2&l.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0;e.forEach(l.declarations,(function(t){512&t.flags&&(u=e.Diagnostics.A_module_cannot_have_multiple_default_exports)}));e.forEach(l.declarations,(function(r){t.bindDiagnostics.push(e.createDiagnosticForNode(r.name||r,u,getDisplayName(r)))}));t.bindDiagnostics.push(e.createDiagnosticForNode(a.name||a,u,getDisplayName(a)));l=createSymbol(0,c)}}else l=createSymbol(0,"__missing");addDeclarationToSymbol(l,a,i);l.parent=n;return l}function declareModuleMember(t,r,n){var a=1&e.getCombinedNodeFlags(t);if(8388608&r)return 238===t.kind||229===t.kind&&a?declareSymbol(i.symbol.exports,i.symbol,t,r,n):declareSymbol(i.locals,void 0,t,r,n);if(!e.isAmbientModule(t)&&(a||8192&i.flags)){var o=(107455&r?1048576:0)|(793056&r?2097152:0)|(1536&r?4194304:0);var s=declareSymbol(i.locals,void 0,t,o,n);s.exportSymbol=declareSymbol(i.symbol.exports,i.symbol,t,r,n);t.localSymbol=s;return s}return declareSymbol(i.locals,void 0,t,r,n)}function bindContainer(t,r){var n=i;var a=o;if(1&r){i=o=t;32&r&&(i.locals={});addToContainerChain(i)}else if(2&r){o=t;o.locals=void 0}if(4&r){var s=l;var p=u;var m=_;var g=d;var v=f;var b=y;var T=16&r&&!!e.getImmediatelyInvokedFunctionExpression(t);if(T)d=createBranchLabel();else{l={flags:2};16&r&&(l.container=t);d=void 0}u=void 0;_=void 0;f=void 0;y=false;bindChildren(t);t.flags&=~4030464;if(!(1&l.flags)&&8&r&&e.nodeIsPresent(t.body)){t.flags|=32768;y&&(t.flags|=65536)}256===t.kind&&(t.flags|=h);if(T){addAntecedent(d,l);l=finishFlowLabel(d)}else l=s;u=p;_=m;d=g;f=v;y=b}else if(64&r){c=false;bindChildren(t);t.flags=c?16384|t.flags:~16384&t.flags}else bindChildren(t);i=n;o=a}function bindChildren(t){if(e.isInJavaScriptFile(t)&&t.jsDocComments)for(var r=0,n=t.jsDocComments;r=106&&r.originalKeywordKind<=114&&!e.isIdentifierName(r)&&!e.isInAmbientContext(r)&&(t.parseDiagnostics.length||t.bindDiagnostics.push(e.createDiagnosticForNode(r,getStrictModeIdentifierMessage(r),e.declarationNameToString(r))))}function getStrictModeIdentifierMessage(r){return e.getContainingClass(r)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function checkStrictModeBinaryExpression(t){v&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)&&checkStrictModeEvalOrArguments(t,t.left)}function checkStrictModeCatchClause(e){v&&e.variableDeclaration&&checkStrictModeEvalOrArguments(e,e.variableDeclaration.name)}function checkStrictModeDeleteExpression(r){if(v&&69===r.expression.kind){var n=e.getErrorSpanForNode(t,r.expression);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function isEvalOrArgumentsIdentifier(e){return 69===e.kind&&("eval"===e.text||"arguments"===e.text)}function checkStrictModeEvalOrArguments(r,n){if(n&&69===n.kind){var a=n;if(isEvalOrArgumentsIdentifier(a)){var i=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,i.start,i.length,getStrictModeEvalOrArgumentsMessage(r),a.text))}}}function getStrictModeEvalOrArgumentsMessage(r){return e.getContainingClass(r)?e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:e.Diagnostics.Invalid_use_of_0_in_strict_mode}function checkStrictModeFunctionName(e){v&&checkStrictModeEvalOrArguments(e,e.name)}function getStrictModeBlockScopeFunctionDeclarationMessage(r){return e.getContainingClass(r)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function checkStrictModeFunctionDeclaration(r){if(n<2&&256!==o.kind&&225!==o.kind&&!e.isFunctionLike(o)){var a=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,getStrictModeBlockScopeFunctionDeclarationMessage(r)))}}function checkStrictModeNumericLiteral(r){v&&r.isOctalLiteral&&t.bindDiagnostics.push(e.createDiagnosticForNode(r,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}function checkStrictModePostfixUnaryExpression(e){v&&checkStrictModeEvalOrArguments(e,e.operand)}function checkStrictModePrefixUnaryExpression(e){v&&(41!==e.operator&&42!==e.operator||checkStrictModeEvalOrArguments(e,e.operand))}function checkStrictModeWithStatement(t){v&&errorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}function errorOnFirstToken(r,n,a,i,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,a,i,o))}function getDestructuringParameterName(t){return"__"+e.indexOf(t.parent.parameters,t)}function bind(e){if(e){e.parent=a;var t=v;bindWorker(e);if(e.kind>138){var r=a;a=e;var n=getContainerFlags(e);0===n?bindChildren(e):bindContainer(e,n);a=r}v=t}}function updateStrictModeStatementList(t){if(!v)for(var r=0,n=t;r1)}function addToSymbolTable(t,r,n){for(var a in r)e.hasProperty(r,a)&&(e.hasProperty(t,a)?e.forEach(t[a].declarations,addDeclarationDiagnostic(a,n)):t[a]=r[a]);function addDeclarationDiagnostic(t,r){return function(n){return Ue.add(e.createDiagnosticForNode(n,r,t))}}}function getSymbolLinks(e){if(67108864&e.flags)return e;var t=getSymbolId(e);return Ie[t]||(Ie[t]={})}function getNodeLinks(e){var t=getNodeId(e);return Re[t]||(Re[t]={})}function isGlobalSourceFile(t){return 256===t.kind&&!e.isExternalOrCommonJsModule(t)}function getSymbol(t,r,n){if(n&&e.hasProperty(t,r)){var a=t[r];e.Debug.assert(0===(16777216&a.flags),"Should never get an instantiated symbol here.");if(a.flags&n)return a;if(8388608&a.flags){var i=resolveAlias(a);if(i===S||i.flags&n)return a}}}function getSymbolsOfParameterPropertyDeclaration(t,r){var n=t.parent;var a=t.parent.parent;var i=getSymbol(n.locals,r,107455);var o=getSymbol(a.symbol.members,r,107455);if(i&&o)return[i,o];e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}function isBlockScopedNameDeclaredBeforeUse(r,n){var a=e.getSourceFileOfNode(r);var i=e.getSourceFileOfNode(n);if(a!==i){if(g&&(a.externalModuleIndicator||i.externalModuleIndicator)||!p.outFile&&!p.out)return true;var o=t.getSourceFiles();return e.indexOf(o,a)<=e.indexOf(o,i)}return r.pos<=n.pos?218!==r.kind||!isImmediatelyUsedInInitializerOfBlockScopedVariable(r,n):isUsedInFunctionOrNonStaticProperty(r,n);function isImmediatelyUsedInInitializerOfBlockScopedVariable(t,r){var n=e.getEnclosingBlockScopeContainer(t);switch(t.parent.parent.kind){case 200:case 206:case 208:if(isSameScopeDescendentOf(r,t,n))return true;break}switch(t.parent.parent.kind){case 207:case 208:if(isSameScopeDescendentOf(r,t.parent.parent.expression,n))return true}return false}function isUsedInFunctionOrNonStaticProperty(t,r){var n=e.getEnclosingBlockScopeContainer(t);var a=r;while(a){if(a===n)return false;if(e.isFunctionLike(a))return true;var i=a.parent&&145===a.parent.kind&&0===(32&a.parent.flags)&&a.parent.initializer===a;if(i)return true;a=a.parent}return false}}function resolveName(t,r,n,a,i){var o;var s;var c;var l=t;var u;var _=false;e:while(t){if(t.locals&&!isGlobalSourceFile(t)&&(o=getSymbol(t.locals,r,n))){var d=true;if(e.isFunctionLike(t)&&s&&s!==t.body){n&o.flags&793056&&273!==s.kind&&(d=!!(262144&o.flags)&&(s===t.type||142===s.kind||141===s.kind));107455&n&&1&o.flags&&(d=142===s.kind||s===t.type&&142===o.valueDeclaration.kind)}if(d)break e;o=void 0}switch(t.kind){case 256:if(!e.isExternalOrCommonJsModule(t))break;_=true;case 225:var p=getSymbolOfNode(t).exports;if(256===t.kind||e.isAmbientModule(t)){if(o=p["default"]){var m=e.getLocalSymbolForExportDefault(o);if(m&&o.flags&n&&m.name===r)break e;o=void 0}if(e.hasProperty(p,r)&&8388608===p[r].flags&&e.getDeclarationOfKind(p[r],238))break}if(o=getSymbol(p,r,8914931&n))break e;break;case 224:if(o=getSymbol(getSymbolOfNode(t).exports,r,8&n))break e;break;case 145:case 144:if(e.isClassLike(t.parent)&&!(32&t.flags)){var g=findConstructorDeclaration(t.parent);g&&g.locals&&getSymbol(g.locals,r,107455&n)&&(c=t)}break;case 221:case 192:case 222:if(o=getSymbol(getSymbolOfNode(t).members,r,793056&n)){if(s&&32&s.flags){error(l,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);return}break e}if(192===t.kind&&32&n){var y=t.name;if(y&&r===y.text){o=t.symbol;break e}}break;case 140:u=t.parent.parent;if((e.isClassLike(u)||222===u.kind)&&(o=getSymbol(getSymbolOfNode(u).members,r,793056&n))){error(l,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);return}break;case 147:case 146:case 148:case 149:case 150:case 220:case 180:if(3&n&&"arguments"===r){o=T;break e}break;case 179:if(3&n&&"arguments"===r){o=T;break e}if(16&n){var h=t.name;if(h&&r===h.text){o=t.symbol;break e}}break;case 143:t.parent&&142===t.parent.kind&&(t=t.parent);t.parent&&e.isClassElement(t.parent)&&(t=t.parent);break}s=t;t=t.parent}o&&a&&f&&(o.isReferenced=true);o||(o=getSymbol(U,r,n));if(o){if(a){if(c){var v=c.name;error(l,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(v),"string"===typeof i?i:e.declarationNameToString(i));return}if(2&n){var b=getExportSymbolOfValueSymbolIfExported(o);2&b.flags&&checkResolvedBlockScopedVariable(b,l)}if(o&&_){var k=o.declarations;k&&1===k.length&&228===k[0].kind&&error(l,e.Diagnostics.Identifier_0_must_be_imported_from_a_module,r)}}return o}a&&(checkAndReportErrorForMissingPrefix(l,r,i)||checkAndReportErrorForExtendingInterface(l)||error(l,a,"string"===typeof i?i:e.declarationNameToString(i)))}function checkAndReportErrorForMissingPrefix(t,r,n){if(!t||69===t.kind&&isTypeReferenceIdentifier(t)||isInTypeQuery(t))return false;var a=e.getThisContainer(t,true);var i=a;while(i){if(e.isClassLike(i.parent)){var o=getSymbolOfNode(i.parent);if(!o)break;var s=getTypeOfSymbol(o);if(getPropertyOfType(s,r)){error(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,"string"===typeof n?n:e.declarationNameToString(n),symbolToString(o));return true}if(i===a&&!(32&i.flags)){var c=getDeclaredTypeOfSymbol(o).thisType;if(getPropertyOfType(c,r)){error(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,"string"===typeof n?n:e.declarationNameToString(n));return true}}}i=i.parent}return false}function checkAndReportErrorForExtendingInterface(t){var r=t;while(r){var n=r.kind;if(69!==n&&172!==n){if(194===n)break;return false}r=r.parent}if(!r)return false;var a=r.expression;if(resolveEntityName(a,64,true)){error(t,e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements,e.getTextOfNode(a));return true}return false}function checkResolvedBlockScopedVariable(t,r){e.Debug.assert(0!==(2&t.flags));var n=e.forEach(t.declarations,(function(t){return e.isBlockOrCatchScoped(t)?t:void 0}));e.Debug.assert(void 0!==n,"Block-scoped variable declaration is undefined");isBlockScopedNameDeclaredBeforeUse(e.getAncestor(n,218),r)||error(r,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,e.declarationNameToString(n.name))}function isSameScopeDescendentOf(t,r,n){if(!r)return false;for(var a=t;a&&a!==n&&!e.isFunctionLike(a);a=a.parent)if(a===r)return true;return false}function getAnyImportSyntax(t){if(e.isAliasSymbolDeclaration(t)){if(229===t.kind)return t;while(t&&230!==t.kind)t=t.parent;return t}}function getDeclarationOfAliasSymbol(t){return e.forEach(t.declarations,(function(t){return e.isAliasSymbolDeclaration(t)?t:void 0}))}function getTargetOfImportEqualsDeclaration(t){return 240===t.moduleReference.kind?resolveExternalModuleSymbol(resolveExternalModuleName(t,e.getExternalModuleImportEqualsDeclarationExpression(t))):getSymbolOfPartOfRightHandSideOfImportEquals(t.moduleReference,t)}function getTargetOfImportClause(t){var r=resolveExternalModuleName(t,t.parent.moduleSpecifier);if(r){var n=e.isShorthandAmbientModule(r.valueDeclaration)?r:r.exports["export="]?getPropertyOfType(getTypeOfSymbol(r.exports["export="]),"default"):resolveSymbol(r.exports["default"]);if(n||y){if(!n&&y)return resolveExternalModuleSymbol(r)||resolveSymbol(r)}else error(t.name,e.Diagnostics.Module_0_has_no_default_export,symbolToString(r));return n}}function getTargetOfNamespaceImport(e){var t=e.parent.parent.moduleSpecifier;return resolveESModuleSymbol(resolveExternalModuleName(e,t),t)}function combineValueAndTypeSymbols(t,r){if(t.flags&(793056|1536))return t;var n=createSymbol(t.flags|r.flags,t.name);n.declarations=e.concatenate(t.declarations,r.declarations);n.parent=t.parent||r.parent;t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration);r.members&&(n.members=r.members);t.exports&&(n.exports=t.exports);return n}function getExportOfModule(t,r){if(1536&t.flags){var n=getExportsOfSymbol(t);if(e.hasProperty(n,r))return resolveSymbol(n[r])}}function getPropertyOfVariable(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(r),t))}}function getExternalModuleMember(t,r){var n=resolveExternalModuleName(t,t.moduleSpecifier);var a=resolveESModuleSymbol(n,t.moduleSpecifier);if(a){var i=r.propertyName||r.name;if(i.text){if(e.isShorthandAmbientModule(n.valueDeclaration))return n;var o=void 0;o=n&&n.exports&&n.exports["export="]?getPropertyOfType(getTypeOfSymbol(a),i.text):getPropertyOfVariable(a,i.text);o=resolveSymbol(o);var s=getExportOfModule(a,i.text);var c=s&&o?combineValueAndTypeSymbols(o,s):s||o;c||error(i,e.Diagnostics.Module_0_has_no_exported_member_1,getFullyQualifiedName(n),e.declarationNameToString(i));return c}}}function getTargetOfImportSpecifier(e){return getExternalModuleMember(e.parent.parent.parent,e)}function getTargetOfNamespaceExportDeclaration(e){return resolveExternalModuleSymbol(e.parent.symbol)}function getTargetOfExportSpecifier(e){return e.parent.parent.moduleSpecifier?getExternalModuleMember(e.parent.parent,e):resolveEntityName(e.propertyName||e.name,107455|793056|1536)}function getTargetOfExportAssignment(e){return resolveEntityName(e.expression,107455|793056|1536)}function getTargetOfAliasDeclaration(e){switch(e.kind){case 229:return getTargetOfImportEqualsDeclaration(e);case 231:return getTargetOfImportClause(e);case 232:return getTargetOfNamespaceImport(e);case 234:return getTargetOfImportSpecifier(e);case 238:return getTargetOfExportSpecifier(e);case 235:return getTargetOfExportAssignment(e);case 228:return getTargetOfNamespaceExportDeclaration(e)}}function resolveSymbol(e){return e&&8388608&e.flags&&!(e.flags&(107455|793056|1536))?resolveAlias(e):e}function resolveAlias(t){e.Debug.assert(0!==(8388608&t.flags),"Should only get Alias here.");var r=getSymbolLinks(t);if(r.target)r.target===x&&(r.target=S);else{r.target=x;var n=getDeclarationOfAliasSymbol(t);var a=getTargetOfAliasDeclaration(n);r.target===x?r.target=a||S:error(n,e.Diagnostics.Circular_definition_of_import_alias_0,symbolToString(t))}return r.target}function markExportAsReferenced(e){var t=getSymbolOfNode(e);var r=resolveAlias(t);if(r){var n=r===S||107455&r.flags&&!isConstEnumOrConstEnumOnlyModule(r);n&&markAliasSymbolAsReferenced(t)}}function markAliasSymbolAsReferenced(t){var r=getSymbolLinks(t);if(!r.referenced){r.referenced=true;var n=getDeclarationOfAliasSymbol(t);235===n.kind?checkExpressionCached(n.expression):238===n.kind?checkExpressionCached(n.propertyName||n.name):e.isInternalModuleImportEqualsDeclaration(n)&&checkExpressionCached(n.moduleReference)}}function getSymbolOfPartOfRightHandSideOfImportEquals(t,r,n){69===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent);if(69===t.kind||139===t.parent.kind)return resolveEntityName(t,1536,false,n);e.Debug.assert(229===t.parent.kind);return resolveEntityName(t,107455|793056|1536,false,n)}function getFullyQualifiedName(e){return e.parent?getFullyQualifiedName(e.parent)+"."+symbolToString(e):symbolToString(e)}function resolveEntityName(t,r,n,a){if(!e.nodeIsMissing(t)){var i;if(69===t.kind){var o=1536===r?e.Diagnostics.Cannot_find_namespace_0:e.Diagnostics.Cannot_find_name_0;i=resolveName(t,t.text,r,n?void 0:o,t);if(!i)return}else if(139===t.kind||172===t.kind){var s=139===t.kind?t.left:t.expression;var c=139===t.kind?t.right:t.name;var l=resolveEntityName(s,1536,n);if(!l||e.nodeIsMissing(c))return;if(l===S)return l;i=getSymbol(getExportsOfSymbol(l),c.text,r);if(!i){n||error(c,e.Diagnostics.Module_0_has_no_exported_member_1,getFullyQualifiedName(l),e.declarationNameToString(c));return}}else e.Debug.fail("Unknown entity name kind.");e.Debug.assert(0===(16777216&i.flags),"Should never get an instantiated symbol here.");return i.flags&r||a?i:resolveAlias(i)}}function resolveExternalModuleName(t,r){return resolveExternalModuleNameWorker(t,r,e.Diagnostics.Cannot_find_module_0)}function resolveExternalModuleNameWorker(r,n,a){if(9===n.kind){var i=n;var o=e.escapeIdentifier(i.text);if(void 0!==o){var s=e.isExternalModuleNameRelative(o);if(!s){var c=getSymbol(U,'"'+o+'"',512);if(c)return getMergedSymbol(c)}var l=e.getResolvedModule(e.getSourceFileOfNode(r),i.text);var u=l&&t.getSourceFile(l.resolvedFileName);if(u){if(u.symbol)return getMergedSymbol(u.symbol);a&&error(i,e.Diagnostics.File_0_is_not_a_module,u.fileName)}else{if(V){var _=e.findBestPatternMatch(V,(function(e){return e.pattern}),o);if(_)return getMergedSymbol(_.symbol)}a&&error(i,a,o)}}}}function resolveExternalModuleSymbol(e){return e&&getMergedSymbol(resolveSymbol(e.exports["export="]))||e}function resolveESModuleSymbol(t,r){var n=resolveExternalModuleSymbol(t);if(n&&!(n.flags&(1536|3))){error(r,e.Diagnostics.Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct,symbolToString(t));n=void 0}return n}function hasExportAssignmentSymbol(e){return void 0!==e.exports["export="]}function getExportsOfModuleAsArray(e){return symbolsToArray(getExportsOfModule(e))}function getExportsOfSymbol(e){return 1536&e.flags?getExportsOfModule(e):e.exports||d}function getExportsOfModule(e){var t=getSymbolLinks(e);return t.resolvedExports||(t.resolvedExports=getExportsForModule(e))}function extendExportSymbols(t,r,n,a){for(var i in r)if("default"===i||e.hasProperty(t,i))n&&a&&"default"!==i&&e.hasProperty(t,i)&&resolveSymbol(t[i])!==resolveSymbol(r[i])&&(n[i].exportsWithDuplicate?n[i].exportsWithDuplicate.push(a):n[i].exportsWithDuplicate=[a]);else{t[i]=r[i];n&&a&&(n[i]={specifierText:e.getTextOfNode(a.moduleSpecifier)})}}function getExportsForModule(t){var r=[];return visit(t)||t.exports;function visit(t){if(t&&1952&t.flags&&!e.contains(r,t)){r.push(t);var n=cloneSymbolTable(t.exports);var a=t.exports["__export"];if(a){var i={};var o={};for(var s=0,c=a.declarations;s=o&&(i=i.substr(0,o-"...".length)+"...");return i}function typePredicateToString(t,r,n){var a=e.getSingleLineStringWriter();getSymbolDisplayBuilder().buildTypePredicateDisplay(t,a,r,n);var i=a.string();e.releaseStringWriter(a);return i}function visibilityToString(e){return 8===e?"private":16===e?"protected":"public"}function getTypeAliasForTypeLiteral(e){if(e.symbol&&2048&e.symbol.flags){var t=e.symbol.declarations[0].parent;while(164===t.kind)t=t.parent;if(223===t.kind)return getSymbolOfNode(t)}}function isTopLevelInExternalModuleAugmentation(t){return t&&t.parent&&226===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function getSymbolDisplayBuilder(){function getNameOfSymbol(t){if(t.declarations&&t.declarations.length){var r=t.declarations[0];if(r.name)return e.declarationNameToString(r.name);switch(r.kind){case 192:return"(Anonymous class)";case 179:case 180:return"(Anonymous function)"}}return t.name}function appendSymbolNameOnly(e,t){t.writeSymbol(getNameOfSymbol(e),e)}function appendPropertyOrElementAccessForSymbol(t,r){var n=getNameOfSymbol(t);var a=n.charCodeAt(0);var i=!e.isIdentifierStart(a,m);if(i){writePunctuation(r,19);e.isSingleOrDoubleQuote(a)?r.writeStringLiteral(n):r.writeSymbol(n,t);writePunctuation(r,20)}else{writePunctuation(r,21);r.writeSymbol(n,t)}}function buildSymbolDisplay(t,r,n,a,i,o){var s;function appendParentTypeArgumentsAndSymbolName(e){if(s){1&i&&(16777216&e.flags?buildDisplayForTypeArgumentsAndDelimiters(getTypeParametersOfClassOrInterface(s),e.mapper,r,n):buildTypeParameterDisplayFromSymbol(s,r,n));appendPropertyOrElementAccessForSymbol(e,r)}else appendSymbolNameOnly(e,r);s=e}r.trackSymbol(t,n,a);function walkSymbol(t,r){if(t){var a=getAccessibleSymbolChain(t,n,r,!!(2&i));a&&!needsQualification(a[0],n,1===a.length?r:getQualifiedLeftMeaning(r))||walkSymbol(getParentOfSymbol(a?a[0]:t),getQualifiedLeftMeaning(r));if(a)for(var o=0,c=a;o0){24!==t&&writeSpace(r);writePunctuation(r,t);writeSpace(r)}writeType(e[n],24===t?0:64)}}function writeSymbolTypeReference(e,t,a,i,o){(32&e.flags||!isReservedMemberName(e.name))&&buildSymbolDisplay(e,r,n,793056,0,o);if(a0){writePunctuation(t,24);writeSpace(t)}r(e[n])}}function buildDisplayForTypeArgumentsAndDelimiters(e,t,r,n,a,i){if(e&&e.length){writePunctuation(r,25);var o=256;for(var s=0;s0){writePunctuation(r,24);writeSpace(r);o=0}buildTypeDisplay(t(e[s]),r,n,o)}writePunctuation(r,27)}}function buildDisplayForParametersAndDelimiters(e,t,r,n,a,i){writePunctuation(r,17);e&&buildParameterDisplay(e,r,n,a,i);for(var o=0;o0||e){writePunctuation(r,24);writeSpace(r)}buildParameterDisplay(t[o],r,n,a,i)}writePunctuation(r,18)}function buildTypePredicateDisplay(t,r,n,a,i){e.isIdentifierTypePredicate(t)?r.writeParameter(t.parameterName):writeKeyword(r,97);writeSpace(r);writeKeyword(r,124);writeSpace(r);buildTypeDisplay(t.type,r,n,a,i)}function buildReturnTypeDisplay(e,t,r,n,a){if(8&n){writeSpace(t);writePunctuation(t,34)}else writePunctuation(t,54);writeSpace(t);if(e.typePredicate)buildTypePredicateDisplay(e.typePredicate,t,r,n,a);else{var i=getReturnTypeOfSignature(e);buildTypeDisplay(i,t,r,n,a)}}function buildSignatureDisplay(e,t,r,n,a,i){if(1===a){writeKeyword(t,92);writeSpace(t)}e.target&&32&n?buildDisplayForTypeArgumentsAndDelimiters(e.target.typeParameters,e.mapper,t,r):buildDisplayForTypeParametersAndDelimiters(e.typeParameters,t,r,n,i);buildDisplayForParametersAndDelimiters(e.thisParameter,e.parameters,t,r,n,i);buildReturnTypeDisplay(e,t,r,n,i)}return rt||(rt={buildSymbolDisplay:buildSymbolDisplay,buildTypeDisplay:buildTypeDisplay,buildTypeParameterDisplay:buildTypeParameterDisplay,buildTypePredicateDisplay:buildTypePredicateDisplay,buildParameterDisplay:buildParameterDisplay,buildDisplayForParametersAndDelimiters:buildDisplayForParametersAndDelimiters,buildDisplayForTypeParametersAndDelimiters:buildDisplayForTypeParametersAndDelimiters,buildTypeParameterDisplayFromSymbol:buildTypeParameterDisplayFromSymbol,buildSignatureDisplay:buildSignatureDisplay,buildReturnTypeDisplay:buildReturnTypeDisplay})}function isDeclarationVisible(t){if(t){var r=getNodeLinks(t);void 0===r.isVisible&&(r.isVisible=!!determineIfDeclarationIsVisible());return r.isVisible}return false;function determineIfDeclarationIsVisible(){switch(t.kind){case 169:return isDeclarationVisible(t.parent.parent);case 218:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return false;case 225:case 221:case 222:case 223:case 220:case 224:case 229:if(e.isExternalModuleAugmentation(t))return true;var r=getDeclarationContainer(t);return 1&e.getCombinedNodeFlags(t)||229!==t.kind&&256!==r.kind&&e.isInAmbientContext(r)?isDeclarationVisible(r):isGlobalSourceFile(r);case 145:case 144:case 149:case 150:case 147:case 146:if(t.flags&(8|16))return false;case 148:case 152:case 151:case 153:case 142:case 226:case 156:case 157:case 159:case 155:case 160:case 161:case 162:case 163:case 164:return isDeclarationVisible(t.parent);case 231:case 232:case 234:return false;case 141:case 256:return true;case 235:return false;default:return false}}}function collectLinkedAliases(t){var r;if(t.parent&&235===t.parent.kind)r=resolveName(t.parent,t.text,107455|793056|1536|8388608,e.Diagnostics.Cannot_find_name_0,t);else if(238===t.parent.kind){var n=t.parent;r=n.parent.parent.moduleSpecifier?getExternalModuleMember(n.parent.parent,n):resolveEntityName(n.propertyName||n.name,107455|793056|1536|8388608)}var a=[];r&&buildVisibleNodeList(r.declarations);return a;function buildVisibleNodeList(t){e.forEach(t,(function(t){getNodeLinks(t).isVisible=true;var r=getAnyImportSyntax(t)||t;e.contains(a,r)||a.push(r);if(e.isInternalModuleImportEqualsDeclaration(t)){var n=t.moduleReference;var i=getFirstIdentifier(n);var o=resolveName(t,i.text,107455|793056|1536,void 0,void 0);o&&buildVisibleNodeList(o.declarations)}}))}}function pushTypeResolution(e,t){var r=findResolutionCycleStartIndex(e,t);if(r>=0){var n=Ae.length;for(var a=r;a=0;r--){if(hasType(Ae[r],Fe[r]))return-1;if(Ae[r]===e&&Fe[r]===t)return r}return-1}function hasType(t,r){if(0===r)return getSymbolLinks(t).type;if(2===r)return getSymbolLinks(t).declaredType;if(1===r){e.Debug.assert(!!(1024&t.flags));return t.resolvedBaseConstructorType}if(3===r)return t.resolvedReturnType;e.Debug.fail("Unhandled TypeSystemPropertyName "+r)}function popTypeResolution(){Ae.pop();Fe.pop();return Pe.pop()}function getDeclarationContainer(t){t=e.getRootDeclaration(t);while(t)switch(t.kind){case 218:case 219:case 234:case 233:case 232:case 231:t=t.parent;break;default:return t.parent}}function getTypeOfPrototypeProperty(t){var r=getDeclaredTypeOfSymbol(getParentOfSymbol(t));return r.typeParameters?createTypeReference(r,e.map(r.typeParameters,(function(e){return C}))):r}function getTypeOfPropertyOfType(e,t){var r=getPropertyOfType(e,t);return r?getTypeOfSymbol(r):void 0}function isTypeAny(e){return e&&0!==(1&e.flags)}function isTypeNever(e){return e&&0!==(134217728&e.flags)}function getTypeForBindingElementParent(e){var t=getSymbolOfNode(e);return t&&getSymbolLinks(t).type||getTypeForVariableLikeDeclaration(e,false)}function getTextOfPropertyName(t){switch(t.kind){case 69:return t.text;case 9:case 8:return t.text;case 140:if(e.isStringOrNumericLiteral(t.expression.kind))return t.expression.text}}function isComputedNonLiteralName(t){return 140===t.kind&&!e.isStringOrNumericLiteral(t.expression.kind)}function getTypeForBindingElement(t){var r=t.parent;var n=getTypeForBindingElementParent(r.parent);if(n===R)return R;if(!n||isTypeAny(n))return t.initializer?checkExpressionCached(t.initializer):n;var a;if(167===r.kind){var i=t.propertyName||t.name;if(isComputedNonLiteralName(i))return C;t.initializer&&getContextualType(t.initializer);var o=getTextOfPropertyName(i);a=getTypeOfPropertyOfType(n,o)||isNumericLiteralName(o)&&getIndexTypeOfType(n,1)||getIndexTypeOfType(n,0);if(!a){error(i,e.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature,typeToString(n),e.declarationNameToString(i));return R}}else{var s=checkIteratedTypeOrElementType(n,r,false);if(t.dotDotDotToken)a=createArrayType(s);else{var c=""+e.indexOf(r.elements,t);a=isTupleLikeType(n)?getTypeOfPropertyOfType(n,c):s;if(!a){isTupleType(n)?error(t,e.Diagnostics.Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2,typeToString(n),n.elementTypes.length,r.elements.length):error(t,e.Diagnostics.Type_0_has_no_property_1,typeToString(n),c);return R}}}!h||!t.initializer||32&getCombinedTypeFlags(checkExpressionCached(t.initializer))||(a=getTypeWithFacts(a,131072));return a}function getTypeForVariableLikeDeclarationFromJSDocComment(e){var t=getJSDocTypeForVariableLikeDeclarationFromJSDocComment(e);if(t)return getTypeFromTypeNode(t)}function getJSDocTypeForVariableLikeDeclarationFromJSDocComment(t){var r=e.getJSDocTypeTag(t);if(r&&r.typeExpression)return r.typeExpression.type;if(218===t.kind&&219===t.parent.kind&&200===t.parent.parent.kind){var n=e.getJSDocTypeTag(t.parent.parent);if(n&&n.typeExpression)return n.typeExpression.type}else if(142===t.kind){var a=e.getCorrespondingJSDocParameterTag(t);if(a&&a.typeExpression)return a.typeExpression.type}}function addOptionality(e,t){return h&&t?addTypeKind(e,32):e}function getTypeForVariableLikeDeclaration(t,r){if(134217728&t.flags){var n=getTypeForVariableLikeDeclarationFromJSDocComment(t);if(n&&n!==R)return n}if(207===t.parent.parent.kind)return D;if(208===t.parent.parent.kind)return checkRightHandSideOfForOf(t.parent.parent.expression)||C;if(e.isBindingPattern(t.parent))return getTypeForBindingElement(t);if(t.type)return addOptionality(getTypeFromTypeNode(t.type),t.questionToken&&r);if(142===t.kind){var a=t.parent;if(150===a.kind&&!e.hasDynamicName(a)){var i=e.getDeclarationOfKind(t.parent.symbol,149);if(i){var o=getSignatureFromDeclaration(i);var s=getAccessorThisParameter(a);if(s&&t===s){e.Debug.assert(!s.type);return getTypeOfSymbol(o.thisParameter)}return getReturnTypeOfSignature(o)}}var n="this"===t.symbol.name?getContextuallyTypedThisType(a):getContextuallyTypedParameterType(t);if(n)return addOptionality(n,t.questionToken&&r)}return t.initializer?addOptionality(checkExpressionCached(t.initializer),t.questionToken&&r):254===t.kind?checkIdentifier(t.name):e.isBindingPattern(t.name)?getTypeFromBindingPattern(t.name,false):void 0}function getTypeFromBindingElement(t,r){if(t.initializer){var n=checkExpressionCached(t.initializer);reportErrorsFromWidening(t,n);return getWidenedType(n)}if(e.isBindingPattern(t.name))return getTypeFromBindingPattern(t.name,r);p.noImplicitAny&&!declarationBelongsToPrivateAmbientMember(t)&&reportImplicitAnyError(t,C);return C}function getTypeFromObjectBindingPattern(t,r){var n={};var a=false;e.forEach(t.elements,(function(e){var t=e.propertyName||e.name;if(isComputedNonLiteralName(t))a=true;else{var i=getTextOfPropertyName(t);var o=4|67108864|(e.initializer?536870912:0);var s=createSymbol(o,i);s.type=getTypeFromBindingElement(e,r);s.bindingElement=e;n[s.name]=s}}));var i=createAnonymousType(void 0,n,_,_,void 0,void 0);r&&(i.pattern=t);a&&(i.flags|=67108864);return i}function getTypeFromArrayBindingPattern(t,r){var n=t.elements;if(0===n.length||n[n.length-1].dotDotDotToken)return m>=2?createIterableType(C):re;var a=e.map(n,(function(e){return 193===e.kind?C:getTypeFromBindingElement(e,r)}));if(r){var i=createNewTupleType(a);i.pattern=t;return i}return createTupleType(a)}function getTypeFromBindingPattern(e,t){return 167===e.kind?getTypeFromObjectBindingPattern(e,t):getTypeFromArrayBindingPattern(e,t)}function getWidenedTypeForVariableLikeDeclaration(e,t){var r=getTypeForVariableLikeDeclaration(e,true);if(r){t&&reportErrorsFromWidening(e,r);return 253===e.kind?r:getWidenedType(r)}r=e.dotDotDotToken?re:C;t&&p.noImplicitAny&&(declarationBelongsToPrivateAmbientMember(e)||reportImplicitAnyError(e,r));return r}function declarationBelongsToPrivateAmbientMember(t){var r=e.getRootDeclaration(t);var n=142===r.kind?r.parent:r;return isPrivateWithinAmbient(n)}function getTypeOfVariableOrParameterOrProperty(t){var r=getSymbolLinks(t);if(!r.type){if(134217728&t.flags)return r.type=getTypeOfPrototypeProperty(t);var n=t.valueDeclaration;if(252===n.parent.kind)return r.type=C;if(235===n.kind)return r.type=checkExpression(n.expression);if(!pushTypeResolution(t,0))return R;var a=void 0;187===n.kind?a=getUnionType(e.map(t.declarations,(function(e){return checkExpressionCached(e.right)}))):172===n.kind&&187===n.parent.kind&&(a=checkExpressionCached(n.parent.right));void 0===a&&(a=getWidenedTypeForVariableLikeDeclaration(n,true));if(!popTypeResolution())if(t.valueDeclaration.type){a=R;error(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(t))}else{a=C;p.noImplicitAny&&error(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,symbolToString(t))}r.type=a}return r.type}function getAnnotatedAccessorType(t){if(t){if(149===t.kind)return t.type&&getTypeFromTypeNode(t.type);var r=e.getSetAccessorTypeAnnotationNode(t);return r&&getTypeFromTypeNode(r)}}function getAnnotatedAccessorThisParameter(e){var t=getAccessorThisParameter(e);return t&&t.symbol}function getThisTypeOfDeclaration(e){return getThisTypeOfSignature(getSignatureFromDeclaration(e))}function getTypeOfAccessors(t){var r=getSymbolLinks(t);if(!r.type){var n=e.getDeclarationOfKind(t,149);var a=e.getDeclarationOfKind(t,150);if(n&&134217728&n.flags){var i=getTypeForVariableLikeDeclarationFromJSDocComment(n);if(i)return r.type=i}if(!pushTypeResolution(t,0))return R;var o=void 0;var s=getAnnotatedAccessorType(n);if(s)o=s;else{var c=getAnnotatedAccessorType(a);if(c)o=c;else if(n&&n.body)o=getReturnTypeFromBody(n);else{p.noImplicitAny&&error(a,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation,symbolToString(t));o=C}}if(!popTypeResolution()){o=C;if(p.noImplicitAny){var l=e.getDeclarationOfKind(t,149);error(l,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,symbolToString(t))}}r.type=o}return r.type}function getTypeOfFuncClassEnumModule(t){var r=getSymbolLinks(t);if(!r.type)if(225===t.valueDeclaration.kind&&e.isShorthandAmbientModule(t.valueDeclaration))r.type=C;else{var n=createObjectType(65536,t);r.type=h&&536870912&t.flags?addTypeKind(n,32):n}return r.type}function getTypeOfEnumMember(e){var t=getSymbolLinks(e);t.type||(t.type=getDeclaredTypeOfEnum(getParentOfSymbol(e)));return t.type}function getTypeOfAlias(e){var t=getSymbolLinks(e);if(!t.type){var r=resolveAlias(e);t.type=107455&r.flags?getTypeOfSymbol(r):R}return t.type}function getTypeOfInstantiatedSymbol(e){var t=getSymbolLinks(e);t.type||(t.type=instantiateType(getTypeOfSymbol(t.target),t.mapper));return t.type}function getTypeOfSymbol(e){return 16777216&e.flags?getTypeOfInstantiatedSymbol(e):e.flags&(3|4)?getTypeOfVariableOrParameterOrProperty(e):e.flags&(16|8192|32|384|512)?getTypeOfFuncClassEnumModule(e):8&e.flags?getTypeOfEnumMember(e):98304&e.flags?getTypeOfAccessors(e):8388608&e.flags?getTypeOfAlias(e):R}function getTargetType(e){return 4096&e.flags?e.target:e}function hasBaseType(t,r){return check(t);function check(t){var n=getTargetType(t);return n===r||e.forEach(getBaseTypes(n),check)}}function appendTypeParameters(t,r){for(var n=0,a=r;n0}function getBaseTypeNodeOfClass(t){return e.getClassExtendsHeritageClauseElement(t.symbol.valueDeclaration)}function getConstructorsForTypeArguments(t,r){var n=r?r.length:0;return e.filter(getSignaturesOfType(t,1),(function(e){return(e.typeParameters?e.typeParameters.length:0)===n}))}function getInstantiatedConstructorsForTypeArguments(t,r){var n=getConstructorsForTypeArguments(t,r);if(r){var a=e.map(r,getTypeFromTypeNode);n=e.map(n,(function(e){return getSignatureInstantiation(e,a)}))}return n}function getBaseConstructorTypeOfClass(t){if(!t.resolvedBaseConstructorType){var r=getBaseTypeNodeOfClass(t);if(!r)return t.resolvedBaseConstructorType=P;if(!pushTypeResolution(t,1))return R;var n=checkExpression(r.expression);80896&n.flags&&resolveStructuredTypeMembers(n);if(!popTypeResolution()){error(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,symbolToString(t.symbol));return t.resolvedBaseConstructorType=R}if(n!==R&&n!==I&&!isConstructorType(n)){error(r.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,typeToString(n));return t.resolvedBaseConstructorType=R}t.resolvedBaseConstructorType=n}return t.resolvedBaseConstructorType}function getBaseTypes(t){var r=32&t.symbol.flags;var n=64&t.symbol.flags;if(!t.resolvedBaseTypes){r||n||e.Debug.fail("type must be class or interface");r&&resolveBaseTypesOfClass(t);n&&resolveBaseTypesOfInterface(t)}return t.resolvedBaseTypes}function resolveBaseTypesOfClass(t){t.resolvedBaseTypes=t.resolvedBaseTypes||_;var r=getBaseConstructorTypeOfClass(t);if(80896&r.flags){var n=getBaseTypeNodeOfClass(t);var a;var i=r&&r.symbol?getDeclaredTypeOfSymbol(r.symbol):void 0;if(r.symbol&&32&r.symbol.flags&&areAllOuterTypeParametersApplied(i))a=getTypeFromClassOrInterfaceReference(n,r.symbol);else{var o=getInstantiatedConstructorsForTypeArguments(r,n.typeArguments);if(!o.length){error(n.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments);return}a=getReturnTypeOfSignature(o[0])}a!==R&&(getTargetType(a).flags&(1024|2048)?t===a||hasBaseType(a,t)?error(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,typeToString(t,void 0,1)):t.resolvedBaseTypes===_?t.resolvedBaseTypes=[a]:t.resolvedBaseTypes.push(a):error(n.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_a_class_or_interface_type,typeToString(a)))}}function areAllOuterTypeParametersApplied(e){var t=e.outerTypeParameters;if(t){var r=t.length-1;var n=e.typeArguments;return t[r].symbol!==n[r].symbol}return true}function resolveBaseTypesOfInterface(t){t.resolvedBaseTypes=t.resolvedBaseTypes||_;for(var r=0,n=t.symbol.declarations;r0)return;for(var a=1;a1){u=cloneSignature(c);if(e.forEach(l,(function(e){return e.thisParameter}))){var d=getUnionType(e.map(l,(function(e){return getTypeOfSymbol(e.thisParameter)||C})));u.thisParameter=createTransientSymbol(c.thisParameter,d)}u.resolvedReturnType=void 0;u.unionSignatures=l}(a||(a=[])).push(u)}}}return a||_}function getUnionIndexInfo(e,t){var r=[];var n=false;for(var a=0,i=e;a=0);return a>=n.minArgumentCount}return false}function createTypePredicateFromTypePredicateNode(e){if(69===e.parameterName.kind){var t=e.parameterName;return{kind:1,parameterName:t?t.text:void 0,parameterIndex:t?getTypePredicateParameterIndex(e.parent.parameters,t):void 0,type:getTypeFromTypeNode(e.type)}}return{kind:0,type:getTypeFromTypeNode(e.type)}}function getSignatureFromDeclaration(t){var r=getNodeLinks(t);if(!r.resolvedSignature){var n=[];var a=false;var i=-1;var o=void 0;var s=void 0;var c=e.isJSDocConstructSignature(t);for(var l=c?1:0,u=t.parameters.length;l0&&a.body){var i=e.declarations[r-1];if(a.parent===i.parent&&a.kind===i.kind&&a.pos===i.end)break}t.push(getSignatureFromDeclaration(a))}}return t}function resolveExternalModuleTypeByLiteral(e){var t=resolveExternalModuleName(e,e);if(t){var r=resolveExternalModuleSymbol(t);if(r)return getTypeOfSymbol(r)}return C}function getThisTypeOfSignature(e){if(e.thisParameter)return getTypeOfSymbol(e.thisParameter)}function getReturnTypeOfSignature(t){if(!t.resolvedReturnType){if(!pushTypeResolution(t,3))return R;var r=void 0;r=t.target?instantiateType(getReturnTypeOfSignature(t.target),t.mapper):t.unionSignatures?getUnionType(e.map(t.unionSignatures,getReturnTypeOfSignature)):getReturnTypeFromBody(t.declaration);if(!popTypeResolution()){r=C;if(p.noImplicitAny){var n=t.declaration;n.name?error(n.name,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,e.declarationNameToString(n.name)):error(n,e.Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}}t.resolvedReturnType=r}return t.resolvedReturnType}function getRestTypeOfSignature(t){if(t.hasRestParameter){var r=getTypeOfSymbol(e.lastOrUndefined(t.parameters));if(4096&r.flags&&r.target===X)return r.typeArguments[0]}return C}function getSignatureInstantiation(e,t){return instantiateSignature(e,createTypeMapper(e.typeParameters,t),true)}function getErasedSignature(e){if(!e.typeParameters)return e;e.erasedSignatureCache||(e.erasedSignatureCache=instantiateSignature(e,createTypeEraser(e.typeParameters),true));return e.erasedSignatureCache}function getOrCreateTypeFromSignature(e){if(!e.isolatedSignatureType){var t=148===e.declaration.kind||152===e.declaration.kind;var r=createObjectType(65536|262144);r.members=d;r.properties=_;r.callSignatures=t?_:[e];r.constructSignatures=t?[e]:_;e.isolatedSignatureType=r}return e.isolatedSignatureType}function getIndexSymbol(e){return e.members["__index"]}function getIndexDeclarationOfSymbol(e,t){var r=1===t?130:132;var n=getIndexSymbol(e);if(n)for(var a=0,i=n.declarations;a0&&(t+=",");t+=e[r].id}return t}return""}function getPropagatingFlagsOfTypes(e,t){var r=0;for(var n=0,a=e;n0){t--;isSubtypeOfAny(e[t],e)&&e.splice(t,1)}}function getUnionType(e,t){if(0===e.length)return L;if(1===e.length)return e[0];var r=[];addTypesToSet(r,e,16384);if(r.containsAny)return C;if(h){r.containsNull&&r.push(w);r.containsUndefined&&r.push(P)}t||removeSubtypes(r);if(0===r.length)return r.containsNull?r.containsNonWideningType?w:I:r.containsUndefined?r.containsNonWideningType?P:F:L;if(1===r.length)return r[0];var n=getTypeListId(r);var a=Ee[n];if(!a){var i=getPropagatingFlagsOfTypes(r,96);a=Ee[n]=createObjectType(16384|i);a.types=r}return a}function getTypeFromUnionTypeNode(t){var r=getNodeLinks(t);r.resolvedType||(r.resolvedType=getUnionType(e.map(t.types,getTypeFromTypeNode),true));return r.resolvedType}function getIntersectionType(e){if(0===e.length)return M;var t=[];addTypesToSet(t,e,32768);if(t.containsAny)return C;if(h){t.containsNull&&t.push(w);t.containsUndefined&&t.push(P)}if(1===t.length)return t[0];var r=getTypeListId(t);var n=Ne[r];if(!n){var a=getPropagatingFlagsOfTypes(t,96);n=Ne[r]=createObjectType(32768|a);n.types=t}return n}function getTypeFromIntersectionTypeNode(t){var r=getNodeLinks(t);r.resolvedType||(r.resolvedType=getIntersectionType(e.map(t.types,getTypeFromTypeNode)));return r.resolvedType}function getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(e){var t=getNodeLinks(e);t.resolvedType||(t.resolvedType=createObjectType(65536,e.symbol));return t.resolvedType}function getStringLiteralTypeForText(t){if(e.hasProperty(Oe,t))return Oe[t];var r=Oe[t]=createType(256);r.text=t;return r}function getTypeFromStringLiteralTypeNode(t){var r=getNodeLinks(t);r.resolvedType||(r.resolvedType=getStringLiteralTypeForText(e.unescapeIdentifier(t.text)));return r.resolvedType}function getTypeFromJSDocVariadicType(e){var t=getNodeLinks(e);if(!t.resolvedType){var r=getTypeFromTypeNode(e.type);t.resolvedType=r?createArrayType(r):R}return t.resolvedType}function getTypeFromJSDocTupleType(t){var r=getNodeLinks(t);if(!r.resolvedType){var n=e.map(t.types,getTypeFromTypeNode);r.resolvedType=createTupleType(n)}return r.resolvedType}function getThisType(t){var r=e.getThisContainer(t,false);var n=r&&r.parent;if(n&&(e.isClassLike(n)||222===n.kind)&&!(32&r.flags)&&(148!==r.kind||e.isNodeDescendentOf(t,r.body)))return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(n)).thisType;error(t,e.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface);return R}function getTypeFromThisTypeNode(e){var t=getNodeLinks(e);t.resolvedType||(t.resolvedType=getThisType(e));return t.resolvedType}function getTypeFromTypeNode(e){switch(e.kind){case 117:case 258:case 259:return C;case 132:return D;case 130:return E;case 120:return N;case 133:return O;case 103:return A;case 135:return P;case 93:return w;case 127:return L;case 165:case 97:return getTypeFromThisTypeNode(e);case 166:return getTypeFromStringLiteralTypeNode(e);case 155:case 267:return getTypeFromTypeReference(e);case 154:return N;case 194:return getTypeFromTypeReference(e);case 158:return getTypeFromTypeQueryNode(e);case 160:case 260:return getTypeFromArrayTypeNode(e);case 161:return getTypeFromTupleTypeNode(e);case 162:case 261:return getTypeFromUnionTypeNode(e);case 163:return getTypeFromIntersectionTypeNode(e);case 164:case 263:case 264:case 271:case 272:case 268:return getTypeFromTypeNode(e.type);case 156:case 157:case 159:case 281:case 269:case 265:return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(e);case 69:case 139:var t=getSymbolAtLocation(e);return t&&getDeclaredTypeOfSymbol(t);case 262:return getTypeFromJSDocTupleType(e);case 270:return getTypeFromJSDocVariadicType(e);default:return R}}function instantiateList(e,t,r){if(e&&e.length){var n=[];for(var a=0,i=e;ar.parameters.length)return 0;t=getErasedSignature(t);r=getErasedSignature(r);var s=-1;var c=getThisTypeOfSignature(t);if(c&&c!==A){var l=getThisTypeOfSignature(r);if(l){var u=o(c,l,false)||o(l,c,a);if(!u){a&&i(e.Diagnostics.The_this_types_of_each_signature_are_incompatible);return 0}s&=u}}var _=getNumNonRestParameters(t);var d=getNumNonRestParameters(r);var p=getNumParametersToCheckForSignatureRelatability(t,_,r,d);var m=t.parameters;var g=r.parameters;for(var f=0;f=2&&96&n[a-1].flags){var i=isRelatedTo(e,n[a-1],false);if(i)return i;a--}for(var o=0;o=2&&96&n[a-1].flags){var i=isRelatedTo(n[a-1],t,false);if(i)return i;a--}for(var o=0;o0){for(var _=0;_=5){var n=e.symbol;var a=0;for(var i=0;i=5)return true}}}return false}function isPropertyIdenticalTo(e,t){return 0!==compareProperties(e,t,compareTypesIdentical)}function compareProperties(e,t,r){if(e===t)return-1;var n=getDeclarationFlagsFromSymbol(e)&(8|16);var a=getDeclarationFlagsFromSymbol(t)&(8|16);if(n!==a)return 0;if(n){if(getTargetSymbol(e)!==getTargetSymbol(t))return 0}else if((536870912&e.flags)!==(536870912&t.flags))return 0;return isReadonlySymbol(e)!==isReadonlySymbol(t)?0:r(getTypeOfSymbol(e),getTypeOfSymbol(t))}function isMatchingSignature(e,t,r){return e.parameters.length===t.parameters.length&&e.minArgumentCount===t.minArgumentCount&&e.hasRestParameter===t.hasRestParameter||!!(r&&e.minArgumentCount<=t.minArgumentCount&&(e.hasRestParameter&&!t.hasRestParameter||e.hasRestParameter===t.hasRestParameter&&e.parameters.length>=t.parameters.length))}function compareSignaturesIdentical(e,t,r,n,a,i){if(e===t)return-1;if(!isMatchingSignature(e,t,r))return 0;if((e.typeParameters?e.typeParameters.length:0)!==(t.typeParameters?t.typeParameters.length:0))return 0;e=getErasedSignature(e);t=getErasedSignature(t);var o=-1;if(!n){var s=getThisTypeOfSignature(e);if(s){var c=getThisTypeOfSignature(t);if(c){var l=i(s,c);if(!l)return 0;o&=l}}}var u=t.parameters.length;for(var _=0;_=e.parameters.length-1}function isSupertypeOfEach(e,t){for(var r=0,n=t;ro){a=t[s];i=l;o=c}if(o===t.length-1)break}checkTypeSubtypeOf(i,a,r,e.Diagnostics.Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0,n)}function isArrayType(e){return 4096&e.flags&&e.target===X}function isArrayLikeType(e){return 4096&e.flags&&(e.target===X||e.target===Y)||!(96&e.flags)&&isTypeAssignableTo(e,ne)}function isTupleLikeType(e){return!!getPropertyOfType(e,"0")}function isStringLiteralUnionType(t){return!!(256&t.flags)||!!(16384&t.flags)&&e.forEach(t.types,isStringLiteralUnionType)}function isTupleType(e){return!!(8192&e.flags)}function getCombinedTypeFlags(e){return 16384&e.flags?getCombinedFlagsOfTypes(e.types):e.flags}function addTypeKind(e,t){if((getCombinedTypeFlags(e)&t)===t)return e;var r=[e];2&t&&r.push(D);4&t&&r.push(E);8&t&&r.push(N);16&t&&r.push(A);32&t&&r.push(P);64&t&&r.push(w);return getUnionType(r)}function getNonNullableType(e){return h?getTypeWithFacts(e,524288):e}function isObjectLiteralType(e){return e.symbol&&0!==(e.symbol.flags&(4096|2048))&&0===getSignaturesOfType(e,0).length&&0===getSignaturesOfType(e,1).length}function createTransientSymbol(e,t){var r=createSymbol(67108864|e.flags,e.name);r.declarations=e.declarations;r.parent=e.parent;r.type=t;r.target=e;e.valueDeclaration&&(r.valueDeclaration=e.valueDeclaration);return r}function transformTypeOfMembers(e,t){var r={};for(var n=0,a=getPropertiesOfObjectType(e);nt)&&(e.failedTypeParameterIndex=t)}return r}function getInferredTypes(e){for(var t=0;t=2||0===(r.flags&(2|32))||252===r.valueDeclaration.parent.kind)){var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration);var a=isInsideFunction(t.parent,n);var i=n;var o=false;while(i&&!e.nodeStartsNewLexicalEnvironment(i)){if(e.isIterationStatement(i,false)){o=true;break}i=i.parent}if(o){a&&(getNodeLinks(i).flags|=65536);206===n.kind&&e.getAncestor(r.valueDeclaration,219).parent===n&&isAssignedInBodyOfForStatement(t,n)&&(getNodeLinks(r.valueDeclaration).flags|=2097152);getNodeLinks(r.valueDeclaration).flags|=262144}a&&(getNodeLinks(r.valueDeclaration).flags|=131072)}}function isAssignedInBodyOfForStatement(t,r){var n=t;while(178===n.parent.kind)n=n.parent;var a=false;if(e.isAssignmentTarget(n))a=true;else if(185===n.parent.kind||186===n.parent.kind){var i=n.parent;a=41===i.operator||42===i.operator}if(!a)return false;while(n!==r){if(n===r.statement)return true;n=n.parent}return false}function captureLexicalThis(e,t){getNodeLinks(e).flags|=2;if(145===t.kind||148===t.kind){var r=t.parent;getNodeLinks(r).flags|=4}else getNodeLinks(t).flags|=4}function findFirstSuperCall(t){return e.isSuperCallExpression(t)?t:e.isFunctionLike(t)?void 0:e.forEachChild(t,findFirstSuperCall)}function getSuperCallInConstructor(e){var t=getNodeLinks(e);if(void 0===t.hasSuperCall){t.superCall=findFirstSuperCall(e.body);t.hasSuperCall=!!t.superCall}return t.superCall}function classDeclarationExtendsNull(e){var t=getSymbolOfNode(e);var r=getDeclaredTypeOfSymbol(t);var n=getBaseConstructorTypeOfClass(r);return n===I}function checkThisExpression(t){var r=e.getThisContainer(t,true);var n=false;if(148===r.kind){var a=r.parent;var i=e.getClassExtendsHeritageClauseElement(a);if(i&&!classDeclarationExtendsNull(a)){var o=getSuperCallInConstructor(r);(!o||o.end>t.pos)&&error(t,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class)}}if(180===r.kind){r=e.getThisContainer(r,false);n=m<2}switch(r.kind){case 225:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 224:error(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 148:isInConstructorArgumentInitializer(t,r)&&error(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 145:case 144:32&r.flags&&error(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 140:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name);break}n&&captureLexicalThis(t,r);if(e.isFunctionLike(r)&&(!isInParameterInitializerBeforeContainingFunction(t)||getFunctionLikeThisParameter(r))){if(179===r.kind&&e.isInJavaScriptFile(r.parent)&&3===e.getSpecialPropertyAssignmentKind(r.parent)){var s=r.parent.left.expression.expression;var c=checkExpression(s).symbol;if(c&&c.members&&16&c.flags)return getInferredClassType(c)}var l=getContextuallyTypedThisType(r);if(l)return l;var u=getThisTypeOfDeclaration(r);if(u)return u}if(e.isClassLike(r.parent)){var _=getSymbolOfNode(r.parent);var l=32&r.flags?getTypeOfSymbol(_):getDeclaredTypeOfSymbol(_).thisType;return getFlowTypeOfReference(t,l,true,true)}if(e.isInJavaScriptFile(t)){var l=getTypeForThisExpressionFromJSDoc(r);if(l&&l!==R)return l}p.noImplicitThis&&error(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);return C}function getTypeForThisExpressionFromJSDoc(t){var r=e.getJSDocTypeTag(t);if(r&&r.typeExpression&&r.typeExpression.type&&269===r.typeExpression.type.kind){var n=r.typeExpression.type;if(n.parameters.length>0&&272===n.parameters[0].type.kind)return getTypeFromTypeNode(n.parameters[0].type)}}function isInConstructorArgumentInitializer(e,t){for(var r=e;r&&r!==t;r=r.parent)if(142===r.kind)return true;return false}function checkSuperExpression(t){var r=174===t.parent.kind&&t.parent.expression===t;var n=e.getSuperContainer(t,true);var a=false;if(!r)while(n&&180===n.kind){n=e.getSuperContainer(n,true);a=m<2}var i=isLegalUsageOfSuperExpression(n);var o=0;if(!i){var s=t;while(s&&s!==n&&140!==s.kind)s=s.parent;s&&140===s.kind?error(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?error(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):n&&n.parent&&(e.isClassLike(n.parent)||171===n.parent.kind)?error(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):error(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions);return R}o=32&n.flags||r?512:256;getNodeLinks(t).flags|=o;147===n.kind&&256&n.flags&&(e.isSuperPropertyOrElementAccess(t.parent)&&e.isAssignmentTarget(t.parent)?getNodeLinks(n).flags|=4096:getNodeLinks(n).flags|=2048);a&&captureLexicalThis(t.parent,n);if(171===n.parent.kind){if(m<2){error(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher);return R}return C}var c=n.parent;var l=getDeclaredTypeOfSymbol(getSymbolOfNode(c));var u=l&&getBaseTypes(l)[0];if(!u){e.getClassExtendsHeritageClauseElement(c)||error(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class);return R}if(148===n.kind&&isInConstructorArgumentInitializer(t,n)){error(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments);return R}return 512===o?getBaseConstructorTypeOfClass(l):getTypeWithThisArgument(u,l.thisType);function isLegalUsageOfSuperExpression(t){return!!t&&(r?148===t.kind:!(!e.isClassLike(t.parent)&&171!==t.parent.kind)&&(32&t.flags?147===t.kind||146===t.kind||149===t.kind||150===t.kind:147===t.kind||146===t.kind||149===t.kind||150===t.kind||145===t.kind||144===t.kind||148===t.kind))}}function getContextuallyTypedThisType(e){if(isContextSensitiveFunctionOrObjectLiteralMethod(e)&&180!==e.kind){var t=getContextualSignature(e);if(t)return getThisTypeOfSignature(t)}}function getContextuallyTypedParameterType(t){var r=t.parent;if(isContextSensitiveFunctionOrObjectLiteralMethod(r)){var n=e.getImmediatelyInvokedFunctionExpression(r);if(n){var a=e.indexOf(r.parameters,t);if(n.arguments&&a=0){var i=getResolvedOrAnySignature(t);return getTypeAtPosition(i,a)}}function getContextualTypeForSubstitutionExpression(e,t){if(176===e.parent.kind)return getContextualTypeForArgument(e.parent,t)}function getContextualTypeForBinaryOperand(e){var t=e.parent;var r=t.operatorToken.kind;if(r>=56&&r<=68){if(e===t.right)return checkExpression(t.left)}else{if(52===r){var n=getContextualType(t);n||e!==t.right||(n=checkExpression(t.left));return n}if((51===r||24===r)&&e===t.right)return getContextualType(t)}}function applyToContextualType(e,t){if(!(16384&e.flags))return t(e);var r=e.types;var n;var a;for(var i=0,o=r;i=2?getElementTypeOfIterable(n,void 0):void 0)}}function getContextualTypeForConditionalOperand(e){var t=e.parent;return e===t.whenTrue||e===t.whenFalse?getContextualType(t):void 0}function getContextualTypeForJsxAttribute(t){var r=t.kind;var n=t.parent;var a=getJsxElementAttributesType(n);if(246===t.kind){if(!a||isTypeAny(a))return;return getTypeOfPropertyOfType(a,t.name.text)}if(247===t.kind)return a;e.Debug.fail("Expected JsxAttribute or JsxSpreadAttribute, got ts.SyntaxKind["+r+"]")}function getApparentTypeOfContextualType(e){var t=getContextualType(e);return t&&getApparentType(t)}function getContextualType(t){if(!isInsideWithStatementBody(t)){if(t.contextualType)return t.contextualType;var r=t.parent;switch(r.kind){case 218:case 142:case 145:case 144:case 169:return getContextualTypeForInitializerExpression(t);case 180:case 211:return getContextualTypeForReturnExpression(t);case 190:return getContextualTypeForYieldOperand(r);case 174:case 175:return getContextualTypeForArgument(r,t);case 177:case 195:return getTypeFromTypeNode(r.type);case 187:return getContextualTypeForBinaryOperand(t);case 253:return getContextualTypeForObjectLiteralElement(r);case 170:return getContextualTypeForElementExpression(t);case 188:return getContextualTypeForConditionalOperand(t);case 197:e.Debug.assert(189===r.parent.kind);return getContextualTypeForSubstitutionExpression(r.parent,t);case 178:return getContextualType(r);case 248:return getContextualType(r);case 246:case 247:return getContextualTypeForJsxAttribute(r)}}}function getNonGenericSignature(e){var t=getSignaturesOfStructuredType(e,0);if(1===t.length){var r=t[0];if(!r.typeParameters)return r}}function isFunctionExpressionOrArrowFunction(e){return 179===e.kind||180===e.kind}function getContextualSignatureForFunctionLikeDeclaration(t){return isFunctionExpressionOrArrowFunction(t)||e.isObjectLiteralMethod(t)?getContextualSignature(t):void 0}function getContextualTypeForFunctionLikeDeclaration(t){return e.isObjectLiteralMethod(t)?getContextualTypeForObjectLiteralMethod(t):getApparentTypeOfContextualType(t)}function getContextualSignature(t){e.Debug.assert(147!==t.kind||e.isObjectLiteralMethod(t));var r=getContextualTypeForFunctionLikeDeclaration(t);if(r){if(!(16384&r.flags))return getNonGenericSignature(r);var n;var a=r.types;for(var i=0,o=a;i=2?getElementTypeOfIterable(u,void 0):void 0);_&&i.push(_)}else{var d=checkExpression(l,r);i.push(d)}a=a||191===l.kind}if(!a){if(o&&i.length){var d=createNewTupleType(i);d.pattern=t;return d}var p=getApparentTypeOfContextualType(t);if(p&&contextualTypeIsTupleLikeType(p)){var g=p.pattern;if(g&&(168===g.kind||170===g.kind)){var f=g.elements;for(var y=i.length;y0&&u[0];var d=_&&getReturnTypeOfSignature(_);var p=d&&(0===_.parameters.length?M:getTypeOfSymbol(_.parameters[0]));if(d&&isTypeAssignableTo(d,Qe)){var m=getJsxType(Ye.IntrinsicAttributes);m!==R&&(p=intersectTypes(m,p));return p}}n&&checkTypeRelatedTo(l,n,Ze,t,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements);if(isTypeAny(l))return l;var g=getJsxElementPropertiesName();if(void 0===g)return C;if(""===g)return l;var f=getTypeOfPropertyOfType(l,g);if(f){if(isTypeAny(f)||f===R)return f;if(16384&f.flags){error(t.tagName,e.Diagnostics.JSX_element_attributes_type_0_may_not_be_a_union_type,typeToString(f));return C}var y=f;var h=getJsxType(Ye.IntrinsicClassAttributes);if(h!==R){var v=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(h.symbol);v?1===v.length&&(y=intersectTypes(createTypeReference(h,[l]),y)):y=intersectTypes(f,h)}var b=getJsxType(Ye.IntrinsicAttributes);b!==R&&(y=intersectTypes(b,y));return y}return M}function getJsxElementAttributesType(e){var t=getNodeLinks(e);if(!t.resolvedJsxType){if(isJsxIntrinsicIdentifier(e.tagName)){var r=getIntrinsicTagSymbol(e);return 1&t.jsxFlags?t.resolvedJsxType=getTypeOfSymbol(r):2&t.jsxFlags?t.resolvedJsxType=getIndexInfoOfSymbol(r,0).type:t.resolvedJsxType=R}var n=getJsxGlobalElementClassType();return t.resolvedJsxType=getResolvedJsxType(e,void 0,n)}return t.resolvedJsxType}function getJsxAttributePropertySymbol(e){var t=getJsxElementAttributesType(e.parent);var r=getPropertyOfType(t,e.name.text);return r||S}function getJsxGlobalElementClassType(){be||(be=getExportedTypeFromNamespace(Ye.JSX,Ye.ElementClass));return be}function getJsxIntrinsicTagNames(){var e=getJsxType(Ye.IntrinsicElements);return e?getPropertiesOfType(e):_}function checkJsxPreconditions(t){0===(p.jsx||0)&&error(t,e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided);void 0===Qe&&p.noImplicitAny&&error(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}function checkJsxOpeningLikeElement(t){checkGrammarJsxElement(t);checkJsxPreconditions(t);var r=2===p.jsx?e.Diagnostics.Cannot_find_name_0:void 0;var n=p.reactNamespace?p.reactNamespace:"React";var a=resolveName(t.tagName,n,107455,r,n);a&&(getSymbolLinks(a).referenced=true);var i=getJsxElementAttributesType(t);var o={};var s=false;for(var c=t.attributes.length-1;c>=0;c--)if(246===t.attributes[c].kind)checkJsxAttribute(t.attributes[c],i,o);else{e.Debug.assert(247===t.attributes[c].kind);var l=checkJsxSpreadAttribute(t.attributes[c],i,o);isTypeAny(l)&&(s=true)}if(i&&!s){var u=getPropertiesOfType(i);for(var c=0;c=0)return isRestParameterIndex(n,l);if(!n.hasRestParameter&&i>n.parameters.length)return false;var f=i>=n.minArgumentCount;return s||f}function getSingleCallSignature(e){if(80896&e.flags){var t=resolveStructuredTypeMembers(e);if(1===t.callSignatures.length&&0===t.constructSignatures.length&&0===t.properties.length&&!t.stringIndexInfo&&!t.numberIndexInfo)return t.callSignatures[0]}}function instantiateSignatureInContextOf(e,t,r){var n=createInferenceContext(e.typeParameters,true);forEachMatchingParameterType(t,e,(function(e,t){inferTypes(n,instantiateType(e,r),t)}));return getSignatureInstantiation(e,getInferredTypes(n))}function inferTypeArguments(e,t,r,n,a){var i=t.typeParameters;var o=getInferenceMapper(a);for(var s=0;s=3?3:2;case 142:return 3}}function getEffectiveDecoratorFirstArgumentType(t){if(221===t.kind){var r=getSymbolOfNode(t);return getTypeOfSymbol(r)}if(142===t.kind){t=t.parent;if(148===t.kind){var r=getSymbolOfNode(t);return getTypeOfSymbol(r)}}if(145===t.kind||147===t.kind||149===t.kind||150===t.kind)return getParentTypeOfClassElement(t);e.Debug.fail("Unsupported decorator target.");return R}function getEffectiveDecoratorSecondArgumentType(t){if(221===t.kind){e.Debug.fail("Class decorators should not have a second synthetic argument.");return R}if(142===t.kind){t=t.parent;if(148===t.kind)return C}if(145===t.kind||147===t.kind||149===t.kind||150===t.kind){var r=t;switch(r.name.kind){case 69:case 8:case 9:return getStringLiteralTypeForText(r.name.text);case 140:var n=checkComputedPropertyName(r.name);return isTypeOfKind(n,16777216)?n:D;default:e.Debug.fail("Unsupported property name.");return R}}e.Debug.fail("Unsupported decorator target.");return R}function getEffectiveDecoratorThirdArgumentType(t){if(221===t.kind){e.Debug.fail("Class decorators should not have a third synthetic argument.");return R}if(142===t.kind)return E;if(145===t.kind){e.Debug.fail("Property decorators should not have a third synthetic argument.");return R}if(147===t.kind||149===t.kind||150===t.kind){var r=getTypeOfNode(t);return createTypedPropertyDescriptorType(r)}e.Debug.fail("Unsupported decorator target.");return R}function getEffectiveDecoratorArgumentType(t,r){if(0===r)return getEffectiveDecoratorFirstArgumentType(t.parent);if(1===r)return getEffectiveDecoratorSecondArgumentType(t.parent);if(2===r)return getEffectiveDecoratorThirdArgumentType(t.parent);e.Debug.fail("Decorators should not have a fourth synthetic argument.");return R}function getEffectiveArgumentType(e,t,r){return 143===e.kind?getEffectiveDecoratorArgumentType(e,t):0===t&&176===e.kind?ae():void 0}function getEffectiveArgument(e,t,r){if(143!==e.kind&&(0!==r||176!==e.kind))return t[r]}function getEffectiveArgumentErrorNode(e,t,r){return 143===e.kind?e.expression:0===t&&176===e.kind?e.template:r}function resolveCall(t,n,a,i){var o=176===t.kind;var s=143===t.kind;var c;if(!o&&!s){c=t.typeArguments;95!==t.expression.kind&&e.forEach(c,checkSourceElement)}var l=a||[];reorderCandidates(n,l);if(!l.length){reportError(e.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target);return resolveErrorCall(t)}var u=getEffectiveCallArguments(t);var _;if(!s)for(var d=o?1:0;d1&&(f=chooseOverload(l,$e,y));if(!f){p=void 0;m=void 0;g=void 0;f=chooseOverload(l,Ze,y)}if(f)return f;if(p)checkApplicableSignature(t,u,p,Ze,void 0,true);else if(m)if(o||s||!c){e.Debug.assert(g.failedTypeParameterIndex>=0);var h=m.typeParameters[g.failedTypeParameterIndex];var v=getInferenceCandidates(g,g.failedTypeParameterIndex);var b=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly,typeToString(h));i&&(b=e.chainDiagnosticMessages(b,i));reportNoCommonSupertypeError(v,t.expression||t.tag,b)}else{var T=t.typeArguments;checkTypeArguments(m,T,e.map(T,getTypeFromTypeNode),true,i)}else reportError(e.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target);if(!r)for(var k=0,S=l;k=0&&error(t.arguments[n],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=checkNonNullExpression(t.expression);a=getApparentType(a);if(a===R)return resolveErrorCall(t);var i=a.symbol&&getClassLikeDeclarationOfSymbol(a.symbol);if(i&&128&i.flags){error(t,e.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0,e.declarationNameToString(i.name));return resolveErrorCall(t)}if(isTypeAny(a)){t.typeArguments&&error(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments);return resolveUntypedCall(t)}var o=getSignaturesOfType(a,1);if(o.length)return isConstructorAccessible(t,o[0])?resolveCall(t,o,r):resolveErrorCall(t);var s=getSignaturesOfType(a,0);if(s.length){var c=resolveCall(t,s,r);getReturnTypeOfSignature(c)!==A&&error(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword);getThisTypeOfSignature(c)===A&&error(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void);return c}error(t,e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature);return resolveErrorCall(t)}function isConstructorAccessible(t,r){if(!r||!r.declaration)return true;var n=r.declaration;var a=n.flags;if(!(a&(8|16)))return true;var i=getClassLikeDeclarationOfSymbol(n.parent.symbol);var o=getDeclaredTypeOfSymbol(n.parent.symbol);if(!isNodeWithinClass(t,i)){8&a&&error(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,typeToString(o));16&a&&error(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,typeToString(o));return false}return true}function resolveTaggedTemplateExpression(t,r){var n=checkExpression(t.tag);var a=getApparentType(n);if(a===R)return resolveErrorCall(t);var i=getSignaturesOfType(a,0);if(isTypeAny(n)||!i.length&&!(16384&n.flags)&&isTypeAssignableTo(n,Q))return resolveUntypedCall(t);if(!i.length){error(t,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature);return resolveErrorCall(t)}return resolveCall(t,i,r)}function getDiagnosticHeadMessageForDecoratorResolution(t){switch(t.parent.kind){case 221:case 192:return e.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 142:return e.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 145:return e.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 147:case 149:case 150:return e.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression}}function resolveDecorator(t,r){var n=checkExpression(t.expression);var a=getApparentType(n);if(a===R)return resolveErrorCall(t);var i=getSignaturesOfType(a,0);if(n===C||!i.length&&!(16384&n.flags)&&isTypeAssignableTo(n,Q))return resolveUntypedCall(t);var o=getDiagnosticHeadMessageForDecoratorResolution(t);if(!i.length){var s=void 0;s=e.chainDiagnosticMessages(s,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature);s=e.chainDiagnosticMessages(s,o);Ue.add(e.createDiagnosticForNodeFromMessageChain(t,s));return resolveErrorCall(t)}return resolveCall(t,i,r,o)}function resolveSignature(t,r){switch(t.kind){case 174:return resolveCallExpression(t,r);case 175:return resolveNewExpression(t,r);case 176:return resolveTaggedTemplateExpression(t,r);case 143:return resolveDecorator(t,r)}e.Debug.fail("Branch in 'resolveSignature' should be unreachable.")}function getResolvedSignature(e,t){var r=getNodeLinks(e);var n=r.resolvedSignature;if(n&&n!==W&&!t)return n;r.resolvedSignature=W;var a=resolveSignature(e,t);r.resolvedSignature=Se===xe?a:n;return a}function getResolvedOrAnySignature(e){return getNodeLinks(e).resolvedSignature===W?W:getResolvedSignature(e)}function getInferredClassType(e){var t=getSymbolLinks(e);t.inferredClassType||(t.inferredClassType=createAnonymousType(void 0,e.members,_,_,void 0,void 0));return t.inferredClassType}function checkCallExpression(t){checkGrammarTypeArguments(t,t.typeArguments)||checkGrammarArguments(t,t.arguments);var r=getResolvedSignature(t);if(95===t.expression.kind)return A;if(175===t.kind){var n=r.declaration;if(n&&148!==n.kind&&152!==n.kind&&157!==n.kind&&!e.isJSDocConstructSignature(n)){var a=69===t.expression.kind?getResolvedSymbol(t.expression):checkExpression(t.expression).symbol;if(a&&a.members&&(16&a.flags||e.isDeclarationOfFunctionExpression(a)))return getInferredClassType(a);p.noImplicitAny&&error(t,e.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type);return C}}return e.isInJavaScriptFile(t)&&e.isRequireCall(t,true)?resolveExternalModuleTypeByLiteral(t.arguments[0]):getReturnTypeOfSignature(r)}function checkTaggedTemplateExpression(e){return getReturnTypeOfSignature(getResolvedSignature(e))}function checkAssertion(t){var n=getRegularTypeOfObjectLiteral(checkExpression(t.expression));checkSourceElement(t.type);var a=getTypeFromTypeNode(t.type);if(r&&a!==R){var i=getWidenedType(n);isTypeComparableTo(a,i)||checkTypeComparableTo(n,a,t,e.Diagnostics.Type_0_cannot_be_converted_to_type_1)}return a}function checkNonNullAssertion(e){return getNonNullableType(checkExpression(e.expression))}function getTypeOfParameter(e){var t=getTypeOfSymbol(e);if(h){var r=e.valueDeclaration;if(r&&r.initializer)return addTypeKind(t,32)}return t}function getTypeAtPosition(e,t){return e.hasRestParameter?t=56&&s<=68){var a=checkReferenceExpression(t,e.Diagnostics.Invalid_left_hand_side_of_assignment_expression,e.Diagnostics.Left_hand_side_of_assignment_expression_cannot_be_a_constant_or_a_read_only_property);a&&checkTypeAssignableTo(n,c,t,void 0)}}function reportOperatorError(){error(o||n,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2,e.tokenToString(n.kind),typeToString(c),typeToString(l))}}function isYieldExpressionInClass(t){var r=t;var n=t.parent;while(n){if(e.isFunctionLike(n)&&r===n.body)return false;if(e.isClassLike(r))return true;r=n;n=n.parent}return false}function checkYieldExpression(t){if(r){8388608&t.flags&&!isYieldExpressionInClass(t)||grammarErrorOnFirstToken(t,e.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body);isInParameterInitializerBeforeContainingFunction(t)&&error(t,e.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer)}if(t.expression){var n=e.getContainingFunction(t);if(n&&n.asteriskToken){var a=checkExpressionCached(t.expression,void 0);var i=void 0;var o=!!t.asteriskToken;o&&(i=checkElementTypeOfIterable(a,t.expression));if(n.type){var s=getElementTypeOfIterableIterator(getTypeFromTypeNode(n.type))||C;checkTypeAssignableTo(o?i:a,s,t.expression,void 0)}}}return C}function checkConditionalExpression(e,t){checkExpression(e.condition);var r=checkExpression(e.whenTrue,t);var n=checkExpression(e.whenFalse,t);return getUnionType([r,n])}function checkStringLiteralExpression(e){var t=getContextualType(e);return t&&isStringLiteralUnionType(t)?getStringLiteralTypeForText(e.text):D}function checkTemplateExpression(t){e.forEach(t.templateSpans,(function(e){checkExpression(e.expression)}));return D}function checkExpressionWithContextualType(e,t,r){var n=e.contextualType;e.contextualType=t;var a=checkExpression(e,r);e.contextualType=n;return a}function checkExpressionCached(e,t){var r=getNodeLinks(e);if(!r.resolvedType){var n=Se;Se=xe;r.resolvedType=checkExpression(e,t);Se=n}return r.resolvedType}function checkPropertyAssignment(e,t){140===e.name.kind&&checkComputedPropertyName(e.name);return checkExpression(e.initializer,t)}function checkObjectLiteralMethod(e,t){checkGrammarMethod(e);140===e.name.kind&&checkComputedPropertyName(e.name);var r=checkFunctionExpressionOrObjectLiteralMethod(e,t);return instantiateTypeWithSingleGenericCallSignature(e,r,t)}function instantiateTypeWithSingleGenericCallSignature(e,t,r){if(isInferentialContext(r)){var n=getSingleCallSignature(t);if(n&&n.typeParameters){var a=getApparentTypeOfContextualType(e);if(a){var i=getSingleCallSignature(a);if(i&&!i.typeParameters)return getOrCreateTypeFromSignature(instantiateSignatureInContextOf(n,i,r))}}}return t}function checkExpression(t,r){var n;if(139===t.kind)n=checkQualifiedName(t);else{var a=checkExpressionWorker(t,r);n=instantiateTypeWithSingleGenericCallSignature(t,a,r)}if(isConstEnumObjectType(n)){var i=172===t.parent.kind&&t.parent.expression===t||173===t.parent.kind&&t.parent.expression===t||(69===t.kind||139===t.kind)&&isInRightSideOfImportOrExportAssignment(t);i||error(t,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment)}return n}function checkNumericLiteral(e){checkGrammarNumericLiteral(e);return E}function checkExpressionWorker(t,r){switch(t.kind){case 69:return checkIdentifier(t);case 97:return checkThisExpression(t);case 95:return checkSuperExpression(t);case 93:return I;case 99:case 84:return N;case 8:return checkNumericLiteral(t);case 189:return checkTemplateExpression(t);case 9:return checkStringLiteralExpression(t);case 11:return D;case 10:return te;case 170:return checkArrayLiteral(t,r);case 171:return checkObjectLiteral(t,r);case 172:return checkPropertyAccessExpression(t);case 173:return checkIndexedAccess(t);case 174:case 175:return checkCallExpression(t);case 176:return checkTaggedTemplateExpression(t);case 178:return checkExpression(t.expression,r);case 192:return checkClassExpression(t);case 179:case 180:return checkFunctionExpressionOrObjectLiteralMethod(t,r);case 182:return checkTypeOfExpression(t);case 177:case 195:return checkAssertion(t);case 196:return checkNonNullAssertion(t);case 181:return checkDeleteExpression(t);case 183:return checkVoidExpression(t);case 184:return checkAwaitExpression(t);case 185:return checkPrefixUnaryExpression(t);case 186:return checkPostfixUnaryExpression(t);case 187:return checkBinaryExpression(t,r);case 188:return checkConditionalExpression(t,r);case 191:return checkSpreadElementExpression(t,r);case 193:return F;case 190:return checkYieldExpression(t);case 248:return checkJsxExpression(t);case 241:return checkJsxElement(t);case 242:return checkJsxSelfClosingElement(t);case 243:e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement")}return R}function checkTypeParameter(t){t.expression&&grammarErrorOnFirstToken(t.expression,e.Diagnostics.Type_expected);checkSourceElement(t.constraint);getConstraintOfTypeParameter(getDeclaredTypeOfTypeParameter(getSymbolOfNode(t)));r&&checkTypeNameIsReserved(t.name,e.Diagnostics.Type_parameter_name_cannot_be_0)}function checkParameter(t){checkGrammarDecorators(t)||checkGrammarModifiers(t);checkVariableLikeDeclaration(t);var r=e.getContainingFunction(t);if(92&t.flags){r=e.getContainingFunction(t);148===r.kind&&e.nodeIsPresent(r.body)||error(t,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation)}t.questionToken&&e.isBindingPattern(t.name)&&r.body&&error(t,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature);if("this"===t.name.text){0!==e.indexOf(r.parameters,t)&&error(t,e.Diagnostics.A_this_parameter_must_be_the_first_parameter);148!==r.kind&&152!==r.kind&&157!==r.kind||error(t,e.Diagnostics.A_constructor_cannot_have_a_this_parameter)}!t.dotDotDotToken||e.isBindingPattern(t.name)||isArrayType(getTypeOfSymbol(t.symbol))||error(t,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type)}function isSyntacticallyValidGenerator(e){return!(!e.asteriskToken||!e.body)&&(147===e.kind||220===e.kind||179===e.kind)}function getTypePredicateParameterIndex(e,t){if(e)for(var r=0;r=0)if(r.parameters[n.parameterIndex].dotDotDotToken)error(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter);else{var i=e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);checkTypeAssignableTo(n.type,getTypeOfNode(r.parameters[n.parameterIndex]),t.type,void 0,i)}else if(a){var o=false;for(var s=0,c=r.parameters;s=2&&isSyntacticallyValidGenerator(t)){var n=getTypeFromTypeNode(t.type);if(n===A)error(t.type,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var a=getElementTypeOfIterableIterator(n)||C;var i=createIterableIteratorType(a);checkTypeAssignableTo(i,n,t.type)}}else e.isAsyncFunctionLike(t)&&checkAsyncFunctionReturnType(t);t.body||checkUnusedTypeParameters(t)}}function checkClassForDuplicateDeclarations(t){var r=1,n=2,a=r|n;var i={};var o={};for(var s=0,c=t.members;s0&&r.declarations[0]!==t)return}var n=getIndexSymbol(getSymbolOfNode(t));if(n){var a=false;var i=false;for(var o=0,s=n.declarations;o0?getTypeAtPosition(e,0):L}function getAwaitedType(e){return checkAwaitedType(e,void 0,void 0)}function checkAwaitedType(t,r,n){return checkAwaitedTypeWorker(t);function checkAwaitedTypeWorker(t){if(16384&t.flags){var a=[];for(var i=0,o=t.types;i=0){r&&error(r,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method,symbolToString(t.symbol));return R}ze.push(t.id);var l=checkAwaitedTypeWorker(c);ze.pop();return l}}function checkCorrectPromiseType(t,r){if(t===R)return R;var n=me();if(n===B||n===getTargetType(t))return checkAwaitedType(t,r,e.Diagnostics.An_async_function_or_method_must_have_a_valid_awaitable_return_type);error(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);return R}function checkAsyncFunctionReturnType(t){if(m>=2){var r=getTypeFromTypeNode(t.type);return checkCorrectPromiseType(r,t.type)}var n=he();if(n===M)return R;var a=getTypeFromTypeNode(t.type);if(a===R&&p.isolatedModules)return R;var i=getNodeLinks(t.type).resolvedSymbol;if(!i||!symbolIsValue(i)){var o=i?symbolToString(i):typeToString(a);error(t,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type,o);return R}checkReturnTypeAnnotationAsExpression(t);var s=getTypeOfSymbol(i);if(!checkTypeAssignableTo(s,n,t,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type))return R;var c=e.getEntityNameFromTypeNode(t.type);var l=getFirstIdentifier(c);var u=getSymbol(t.locals,l.text,107455);if(u){error(u.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,l.text,getFullyQualifiedName(i));return R}return checkAwaitedType(a,t,e.Diagnostics.An_async_function_or_method_must_have_a_valid_awaitable_return_type)}function checkDecorator(t){var r=getResolvedSignature(t);var n=getReturnTypeOfSignature(r);if(!(1&n.flags)){var a;var i=getDiagnosticHeadMessageForDecoratorResolution(t);var o;switch(t.parent.kind){case 221:var s=getSymbolOfNode(t.parent);var c=getTypeOfSymbol(s);a=getUnionType([c,A]);break;case 142:a=A;o=e.chainDiagnosticMessages(o,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 145:a=A;o=e.chainDiagnosticMessages(o,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 147:case 149:case 150:var l=getTypeOfNode(t.parent);var u=createTypedPropertyDescriptorType(l);a=getUnionType([u,A]);break}checkTypeAssignableTo(n,a,t,i,o)}}function checkTypeNodeAsExpression(e){if(e&&155===e.kind){var t=getFirstIdentifier(e.typeName);var r=155===t.parent.kind?793056:1536;var n=resolveName(t,t.text,8388608|r,void 0,void 0);if(n&&8388608&n.flags){var a=resolveAlias(n);107455&a.flags&&!isConstEnumOrConstEnumOnlyModule(resolveAlias(n))&&markAliasSymbolAsReferenced(n)}}}function checkTypeAnnotationAsExpression(e){checkTypeNodeAsExpression(e.type)}function checkReturnTypeAnnotationAsExpression(e){checkTypeNodeAsExpression(e.type)}function checkParameterTypeAnnotationsAsExpressions(e){for(var t=0,r=e.parameters;t1)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here)}}function checkExpressionStatement(e){checkGrammarStatementInAmbientContext(e);checkExpression(e.expression)}function checkIfStatement(t){checkGrammarStatementInAmbientContext(t);checkExpression(t.expression);checkSourceElement(t.thenStatement);201===t.thenStatement.kind&&error(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement);checkSourceElement(t.elseStatement)}function checkDoStatement(e){checkGrammarStatementInAmbientContext(e);checkSourceElement(e.statement);checkExpression(e.expression)}function checkWhileStatement(e){checkGrammarStatementInAmbientContext(e);checkExpression(e.expression);checkSourceElement(e.statement)}function checkForStatement(t){checkGrammarStatementInAmbientContext(t)||t.initializer&&219===t.initializer.kind&&checkGrammarVariableDeclarationList(t.initializer);t.initializer&&(219===t.initializer.kind?e.forEach(t.initializer.declarations,checkVariableDeclaration):checkExpression(t.initializer));t.condition&&checkExpression(t.condition);t.incrementor&&checkExpression(t.incrementor);checkSourceElement(t.statement);t.locals&®isterForUnusedIdentifiersCheck(t)}function checkForOfStatement(t){checkGrammarForInOrForOfStatement(t);if(219===t.initializer.kind)checkForInOrForOfVariableDeclaration(t);else{var r=t.initializer;var n=checkRightHandSideOfForOf(t.expression);if(170===r.kind||171===r.kind)checkDestructuringAssignment(r,n||R);else{var a=checkExpression(r);checkReferenceExpression(r,e.Diagnostics.Invalid_left_hand_side_in_for_of_statement,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_be_a_constant_or_a_read_only_property);n&&checkTypeAssignableTo(n,a,r,void 0)}}checkSourceElement(t.statement);t.locals&®isterForUnusedIdentifiersCheck(t)}function checkForInStatement(t){checkGrammarForInOrForOfStatement(t);if(219===t.initializer.kind){var r=t.initializer.declarations[0];r&&e.isBindingPattern(r.name)&&error(r.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern);checkForInOrForOfVariableDeclaration(t)}else{var n=t.initializer;var a=checkExpression(n);170===n.kind||171===n.kind?error(n,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):isTypeAnyOrAllConstituentTypesHaveKind(a,258)?checkReferenceExpression(n,e.Diagnostics.Invalid_left_hand_side_in_for_in_statement,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_constant_or_a_read_only_property):error(n,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}var i=checkNonNullExpression(t.expression);isTypeAnyOrAllConstituentTypesHaveKind(i,80896|512)||error(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter);checkSourceElement(t.statement);t.locals&®isterForUnusedIdentifiersCheck(t)}function checkForInOrForOfVariableDeclaration(e){var t=e.initializer;if(t.declarations.length>=1){var r=t.declarations[0];checkVariableDeclaration(r)}}function checkRightHandSideOfForOf(e){var t=checkNonNullExpression(e);return checkIteratedTypeOrElementType(t,e,true)}function checkIteratedTypeOrElementType(t,r,n){if(isTypeAny(t))return t;if(m>=2)return checkElementTypeOfIterable(t,r);if(n)return checkElementTypeOfArrayOrString(t,r);if(isArrayLikeType(t)){var a=getIndexTypeOfType(t,1);if(a)return a}r&&error(r,e.Diagnostics.Type_0_is_not_an_array_type,typeToString(t));return R}function checkElementTypeOfIterable(e,t){var r=getElementTypeOfIterable(e,t);t&&r&&checkTypeAssignableTo(e,createIterableType(r),t);return r||C}function getElementTypeOfIterable(t,r){if(!isTypeAny(t)){var n=t;if(!n.iterableElementType)if(4096&t.flags&&t.target===oe())n.iterableElementType=t.typeArguments[0];else{var a=getTypeOfPropertyOfType(t,e.getPropertyNameForKnownSymbolName("iterator"));if(isTypeAny(a))return;var i=a?getSignaturesOfType(a,0):_;if(0===i.length){r&&error(r,e.Diagnostics.Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator);return}n.iterableElementType=getElementTypeOfIterator(getUnionType(e.map(i,getReturnTypeOfSignature)),r)}return n.iterableElementType}}function getElementTypeOfIterator(t,r){if(!isTypeAny(t)){var n=t;if(!n.iteratorElementType)if(4096&t.flags&&t.target===se())n.iteratorElementType=t.typeArguments[0];else{var a=getTypeOfPropertyOfType(t,"next");if(isTypeAny(a))return;var i=a?getSignaturesOfType(a,0):_;if(0===i.length){r&&error(r,e.Diagnostics.An_iterator_must_have_a_next_method);return}var o=getUnionType(e.map(i,getReturnTypeOfSignature));if(isTypeAny(o))return;var s=getTypeOfPropertyOfType(o,"value");if(!s){r&&error(r,e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property);return}n.iteratorElementType=s}return n.iteratorElementType}}function getElementTypeOfIterableIterator(e){if(!isTypeAny(e))return 4096&e.flags&&e.target===ce()?e.typeArguments[0]:getElementTypeOfIterable(e,void 0)||getElementTypeOfIterator(e,void 0)}function checkElementTypeOfArrayOrString(t,r){e.Debug.assert(m<2);var n=t;16384&t.flags?n=getUnionType(e.filter(t.types,(function(e){return!(258&e.flags)}))):258&t.flags&&(n=L);var a=t!==n;var i=false;if(a){if(m<1){error(r,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher);i=true}if(n===L)return D}if(!isArrayLikeType(n)){if(!i){var o=a?e.Diagnostics.Type_0_is_not_an_array_type:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type;error(r,o,typeToString(n))}return a?D:R}var s=getIndexTypeOfType(n,1)||R;return a?258&s.flags?D:getUnionType([s,D]):s}function checkBreakOrContinueStatement(e){checkGrammarStatementInAmbientContext(e)||checkGrammarBreakOrContinueStatement(e)}function isGetAccessorWithAnnotatedSetAccessor(t){return!!(149===t.kind&&e.getSetAccessorTypeAnnotationNode(e.getDeclarationOfKind(t.symbol,150)))}function isUnwrappedReturnTypeVoidOrAny(t,r){var n=e.isAsyncFunctionLike(t)?getPromisedType(r):r;return n&&maybeTypeOfKind(n,16|1)}function checkReturnStatement(t){if(!checkGrammarStatementInAmbientContext(t)){var r=e.getContainingFunction(t);r||grammarErrorOnFirstToken(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body)}var n=e.getContainingFunction(t);if(n){var a=getSignatureFromDeclaration(n);var i=getReturnTypeOfSignature(a);if(h||t.expression||i===L){var o=t.expression?checkExpressionCached(t.expression):P;if(n.asteriskToken)return;if(150===n.kind)t.expression&&error(t.expression,e.Diagnostics.Setters_cannot_return_a_value);else if(148===n.kind)t.expression&&!checkTypeAssignableTo(o,i,t.expression)&&error(t.expression,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(n.type||isGetAccessorWithAnnotatedSetAccessor(n))if(e.isAsyncFunctionLike(n)){var s=getPromisedType(i);var c=checkAwaitedType(o,t.expression||t,e.Diagnostics.Return_expression_in_async_function_does_not_have_a_valid_callable_then_member);s&&checkTypeAssignableTo(c,s,t.expression||t)}else checkTypeAssignableTo(o,i,t.expression||t)}else 148!==n.kind&&p.noImplicitReturns&&!isUnwrappedReturnTypeVoidOrAny(n,i)&&error(t,e.Diagnostics.Not_all_code_paths_return_a_value)}}function checkWithStatement(t){checkGrammarStatementInAmbientContext(t)||33554432&t.flags&&grammarErrorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block);checkExpression(t.expression);error(t.expression,e.Diagnostics.All_symbols_within_a_with_block_will_be_resolved_to_any)}function checkSwitchStatement(t){checkGrammarStatementInAmbientContext(t);var n;var a=false;var i=checkExpression(t.expression);e.forEach(t.caseBlock.clauses,(function(o){if(250===o.kind&&!a)if(void 0===n)n=o;else{var s=e.getSourceFileOfNode(t);var c=e.skipTrivia(s.text,o.pos);var l=o.statements.length>0?o.statements[0].pos:o.end;grammarErrorAtPos(s,c,l-c,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement);a=true}if(r&&249===o.kind){var u=o;var _=checkExpression(u.expression);isTypeEqualityComparableTo(i,_)||checkTypeComparableTo(_,i,u.expression,void 0)}e.forEach(o.statements,checkSourceElement)}));t.caseBlock.locals&®isterForUnusedIdentifiersCheck(t.caseBlock)}function checkLabeledStatement(t){if(!checkGrammarStatementInAmbientContext(t)){var r=t.parent;while(r){if(e.isFunctionLike(r))break;if(214===r.kind&&r.label.text===t.label.text){var n=e.getSourceFileOfNode(t);grammarErrorOnNode(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNodeFromSourceText(n.text,t.label));break}r=r.parent}}checkSourceElement(t.statement)}function checkThrowStatement(t){checkGrammarStatementInAmbientContext(t)||void 0===t.expression&&grammarErrorAfterFirstToken(t,e.Diagnostics.Line_break_not_permitted_here);t.expression&&checkExpression(t.expression)}function checkTryStatement(t){checkGrammarStatementInAmbientContext(t);checkBlock(t.tryBlock);var r=t.catchClause;if(r){if(r.variableDeclaration)if(69!==r.variableDeclaration.name.kind)grammarErrorOnFirstToken(r.variableDeclaration.name,e.Diagnostics.Catch_clause_variable_name_must_be_an_identifier);else if(r.variableDeclaration.type)grammarErrorOnFirstToken(r.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation);else if(r.variableDeclaration.initializer)grammarErrorOnFirstToken(r.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer);else{var n=r.variableDeclaration.name.text;var a=r.block.locals;if(a&&e.hasProperty(a,n)){var i=a[n];i&&0!==(2&i.flags)&&grammarErrorOnNode(i.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,n)}}checkBlock(r.block)}t.finallyBlock&&checkBlock(t.finallyBlock)}function checkIndexConstraints(t){var r=getIndexDeclarationOfSymbol(t.symbol,1);var n=getIndexDeclarationOfSymbol(t.symbol,0);var a=getIndexTypeOfType(t,0);var i=getIndexTypeOfType(t,1);if(a||i){e.forEach(getPropertiesOfObjectType(t),(function(e){var o=getTypeOfSymbol(e);checkIndexConstraintForProperty(e,o,t,n,a,0);checkIndexConstraintForProperty(e,o,t,r,i,1)}));if(1024&t.flags&&e.isClassLike(t.symbol.valueDeclaration)){var o=t.symbol.valueDeclaration;for(var s=0,c=o.members;s>o;case 45:return a>>>o;case 43:return a<1&&e.forEach(a.declarations,(function(t){e.isConstEnumDeclaration(t)!==n&&error(t.name,e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}));var o=false;e.forEach(a.declarations,(function(t){if(224!==t.kind)return false;var r=t;if(!r.members.length)return false;var n=r.members[0];n.initializer||(o?error(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):o=true)}))}}}function getFirstNonAmbientClassOrFunctionDeclaration(t){var r=t.declarations;for(var n=0,a=r;n1&&!a&&e.isInstantiatedModule(t,p.preserveConstEnums||p.isolatedModules)){var c=getFirstNonAmbientClassOrFunctionDeclaration(s);c&&(e.getSourceFileOfNode(t)!==e.getSourceFileOfNode(c)?error(t.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):t.pos1)for(var d=0,p=l;d1||1===n.length&&n[0].declaration!==t}return false}function getNodeCheckFlags(e){return getNodeLinks(e).flags}function getEnumMemberValue(e){computeEnumMemberValues(e.parent);return getNodeLinks(e).enumMemberValue}function getConstantValue(t){if(255===t.kind)return getEnumMemberValue(t);var r=getNodeLinks(t).resolvedSymbol;return r&&8&r.flags&&e.isConstEnumDeclaration(r.valueDeclaration.parent)?getEnumMemberValue(r.valueDeclaration):void 0}function isFunctionType(e){return 80896&e.flags&&getSignaturesOfType(e,0).length>0}function getTypeReferenceSerializationKind(t){var r=resolveEntityName(t,107455,true);var n=r?getTypeOfSymbol(r):void 0;if(n&&isConstructorType(n))return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue;var a=resolveEntityName(t,793056,true);if(!a)return e.TypeReferenceSerializationKind.ObjectType;var i=getDeclaredTypeOfSymbol(a);return i===R?e.TypeReferenceSerializationKind.Unknown:1&i.flags?e.TypeReferenceSerializationKind.ObjectType:isTypeOfKind(i,16)?e.TypeReferenceSerializationKind.VoidType:isTypeOfKind(i,8)?e.TypeReferenceSerializationKind.BooleanType:isTypeOfKind(i,132)?e.TypeReferenceSerializationKind.NumberLikeType:isTypeOfKind(i,258)?e.TypeReferenceSerializationKind.StringLikeType:isTypeOfKind(i,8192)?e.TypeReferenceSerializationKind.ArrayLikeType:isTypeOfKind(i,16777216)?e.TypeReferenceSerializationKind.ESSymbolType:isFunctionType(i)?e.TypeReferenceSerializationKind.TypeWithCallSignature:isArrayType(i)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function writeTypeOfDeclaration(e,t,r,n){var a=getSymbolOfNode(e);var i=!a||a.flags&(2048|131072)?R:getTypeOfSymbol(a);getSymbolDisplayBuilder().buildTypeDisplay(i,n,t,r)}function writeReturnTypeOfSignatureDeclaration(e,t,r,n){var a=getSignatureFromDeclaration(e);getSymbolDisplayBuilder().buildTypeDisplay(getReturnTypeOfSignature(a),n,t,r)}function writeTypeOfExpression(e,t,r,n){var a=getWidenedType(getTypeOfExpression(e));getSymbolDisplayBuilder().buildTypeDisplay(a,n,t,r)}function writeBaseConstructorTypeOfClass(e,t,r,n){var a=getDeclaredTypeOfSymbol(getSymbolOfNode(e));resolveBaseTypesOfClass(a);var i=a.resolvedBaseTypes.length?a.resolvedBaseTypes[0]:R;getSymbolDisplayBuilder().buildTypeDisplay(i,n,t,r)}function hasGlobalName(t){return e.hasProperty(U,t)}function getReferencedValueSymbol(e){return getNodeLinks(e).resolvedSymbol||resolveName(e,e.text,107455|1048576|8388608,void 0,void 0)}function getReferencedValueDeclaration(t){e.Debug.assert(!e.nodeIsSynthesized(t));var r=getReferencedValueSymbol(t);return r&&getExportSymbolOfValueSymbolIfExported(r).valueDeclaration}function createResolver(){var r=t.getResolvedTypeReferenceDirectives();var n;if(r){n=e.createFileMap();for(var a in r)if(e.hasProperty(r,a)){var i=r[a];if(i){var o=t.getSourceFile(i.resolvedFileName);n.set(o.path,a)}}}return{getReferencedExportContainer:getReferencedExportContainer,getReferencedImportDeclaration:getReferencedImportDeclaration,getReferencedDeclarationWithCollidingName:getReferencedDeclarationWithCollidingName,isDeclarationWithCollidingName:isDeclarationWithCollidingName,isValueAliasDeclaration:isValueAliasDeclaration,hasGlobalName:hasGlobalName,isReferencedAliasDeclaration:isReferencedAliasDeclaration,getNodeCheckFlags:getNodeCheckFlags,isTopLevelValueImportEqualsWithEntityName:isTopLevelValueImportEqualsWithEntityName,isDeclarationVisible:isDeclarationVisible,isImplementationOfOverload:isImplementationOfOverload,writeTypeOfDeclaration:writeTypeOfDeclaration,writeReturnTypeOfSignatureDeclaration:writeReturnTypeOfSignatureDeclaration,writeTypeOfExpression:writeTypeOfExpression,writeBaseConstructorTypeOfClass:writeBaseConstructorTypeOfClass,isSymbolAccessible:isSymbolAccessible,isEntityNameVisible:isEntityNameVisible,getConstantValue:getConstantValue,collectLinkedAliases:collectLinkedAliases,getReferencedValueDeclaration:getReferencedValueDeclaration,getTypeReferenceSerializationKind:getTypeReferenceSerializationKind,isOptionalParameter:isOptionalParameter,moduleExportsSomeValue:moduleExportsSomeValue,isArgumentsLocalBinding:isArgumentsLocalBinding,getExternalModuleFileFromDeclaration:getExternalModuleFileFromDeclaration,getTypeReferenceDirectivesForEntityName:getTypeReferenceDirectivesForEntityName,getTypeReferenceDirectivesForSymbol:getTypeReferenceDirectivesForSymbol};function getTypeReferenceDirectivesForEntityName(e){if(n){var t=172===e.kind||69===e.kind&&isInTypeQuery(e)?107455|1048576:793056|1536;var r=resolveEntityName(e,t,true);return r&&r!==S?getTypeReferenceDirectivesForSymbol(r,t):void 0}}function getTypeReferenceDirectivesForSymbol(t,r){if(n&&isSymbolFromTypeDeclarationFile(t)){var a;for(var i=0,o=t.declarations;i=2){ie=e.memoize((function(){return getGlobalType("Symbol")}));oe=e.memoize((function(){return getGlobalType("Iterable",1)}));se=e.memoize((function(){return getGlobalType("Iterator",1)}));ce=e.memoize((function(){return getGlobalType("IterableIterator",1)}))}else{ie=e.memoize((function(){return M}));oe=e.memoize((function(){return B}));se=e.memoize((function(){return B}));ce=e.memoize((function(){return B}))}re=createArrayType(C);var l=getGlobalSymbol("ReadonlyArray",793056,void 0);Y=l&&getTypeOfGlobalSymbol(l,1);ne=Y?createTypeFromGenericGlobalType(Y,[C]):re}function createInstantiatedPromiseLikeType(){var e=fe();return e!==B?createTypeReference(e,[C]):M}function createThenableType(){var e=createSymbol(67108864|4,"then");getSymbolLinks(e).type=Q;var t=createObjectType(65536);t.properties=[e];t.members=createSymbolTable(t.properties);t.callSignatures=[];t.constructSignatures=[];return t}function checkGrammarDecorators(t){if(!t.decorators)return false;if(!e.nodeCanBeDecorated(t))return 147!==t.kind||e.nodeIsPresent(t.body)?grammarErrorOnFirstToken(t,e.Diagnostics.Decorators_are_not_valid_here):grammarErrorOnFirstToken(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(149===t.kind||150===t.kind){var r=e.getAllAccessorDeclarations(t.parent.members,t);if(r.firstAccessor.decorators&&t===r.secondAccessor)return grammarErrorOnFirstToken(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return false}function checkGrammarModifiers(t){switch(t.kind){case 149:case 150:case 148:case 145:case 144:case 147:case 146:case 153:case 225:case 230:case 229:case 236:case 235:case 179:case 180:case 142:break;case 220:if(t.modifiers&&(t.modifiers.length>1||118!==t.modifiers[0].kind)&&226!==t.parent.kind&&256!==t.parent.kind)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here);break;case 221:case 222:case 200:case 223:if(t.modifiers&&226!==t.parent.kind&&256!==t.parent.kind)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here);break;case 224:if(t.modifiers&&(t.modifiers.length>1||74!==t.modifiers[0].kind)&&226!==t.parent.kind&&256!==t.parent.kind)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here);break;default:return false}if(t.modifiers){var r,n,a,i,o,s;var c=0;for(var l=0,u=t.modifiers;l".length;return grammarErrorAtPos(n,a,i-a,e.Diagnostics.Type_parameter_list_cannot_be_empty)}}function checkGrammarParameterList(t){var r=false;var n=t.length;for(var a=0;a".length;return grammarErrorAtPos(n,a,i-a,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function checkGrammarTypeArguments(e,t){return checkGrammarForDisallowedTrailingComma(t)||checkGrammarForAtLeastOneTypeArgument(e,t)}function checkGrammarForOmittedArgument(t,r){if(r){var n=e.getSourceFileOfNode(t);for(var a=0,i=r;a1)return grammarErrorOnFirstToken(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);r=true}else{e.Debug.assert(106===o.token);if(n)return grammarErrorOnFirstToken(o,e.Diagnostics.implements_clause_already_seen);n=true}checkGrammarHeritageClause(o)}}function checkGrammarInterfaceDeclaration(t){var r=false;if(t.heritageClauses)for(var n=0,a=t.heritageClauses;n1){var a=207===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return grammarErrorOnFirstToken(r.declarations[1],a)}var i=n[0];if(i.initializer){var a=207===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return grammarErrorOnNode(i.name,a)}if(i.type){var a=207===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return grammarErrorOnNode(i,a)}}}return false}function checkGrammarAccessor(t){var r=t.kind;if(m<1)return grammarErrorOnNode(t.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(e.isInAmbientContext(t))return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context);if(!(void 0!==t.body||128&t.flags))return grammarErrorAtPos(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{");if(t.typeParameters)return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_have_type_parameters);if(!doesAccessorHaveCorrectParameterCount(t))return grammarErrorOnNode(t.name,149===r?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter);if(150===r){if(t.type)return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation);var n=t.parameters[0];if(n.dotDotDotToken)return grammarErrorOnNode(n.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter);if(n.questionToken)return grammarErrorOnNode(n.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter);if(n.initializer)return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}}function doesAccessorHaveCorrectParameterCount(e){return getAccessorThisParameter(e)||e.parameters.length===(149===e.kind?0:1)}function getAccessorThisParameter(e){if(e.parameters.length===(149===e.kind?1:2)&&69===e.parameters[0].name.kind&&97===e.parameters[0].name.originalKeywordKind)return e.parameters[0]}function getFunctionLikeThisParameter(e){if(e.parameters.length&&69===e.parameters[0].name.kind&&97===e.parameters[0].name.originalKeywordKind)return e.parameters[0]}function checkGrammarForNonSymbolComputedProperty(t,r){if(e.isDynamicName(t))return grammarErrorOnNode(t,r)}function checkGrammarMethod(t){if(checkGrammarDisallowedModifiersOnObjectLiteralExpressionMethod(t)||checkGrammarFunctionLikeDeclaration(t)||checkGrammarForGenerator(t))return true;if(171===t.parent.kind){if(checkGrammarForInvalidQuestionMark(t,t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return true;if(void 0===t.body)return grammarErrorAtPos(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(e.isClassLike(t.parent)){if(e.isInAmbientContext(t))return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol);if(!t.body)return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol)}else{if(222===t.parent.kind)return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol);if(159===t.parent.kind)return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol)}}function checkGrammarBreakOrContinueStatement(t){var r=t;while(r){if(e.isFunctionLike(r))return grammarErrorOnNode(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(r.kind){case 214:if(t.label&&r.label.text===t.label.text){var n=209===t.kind&&!e.isIterationStatement(r.statement,true);return!!n&&grammarErrorOnNode(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement)}break;case 213:if(210===t.kind&&!t.label)return false;break;default:if(e.isIterationStatement(r,false)&&!t.label)return false;break}r=r.parent}if(t.label){var a=210===t.kind?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return grammarErrorOnNode(t,a)}var a=210===t.kind?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return grammarErrorOnNode(t,a)}function checkGrammarBindingElement(t){if(t.dotDotDotToken){var r=t.parent.elements;if(t!==e.lastOrUndefined(r))return grammarErrorOnNode(t,e.Diagnostics.A_rest_element_must_be_last_in_an_array_destructuring_pattern);if(168===t.name.kind||167===t.name.kind)return grammarErrorOnNode(t.name,e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern);if(t.initializer)return grammarErrorAtPos(e.getSourceFileOfNode(t),t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}function checkGrammarVariableDeclaration(t){if(207!==t.parent.parent.kind&&208!==t.parent.parent.kind)if(e.isInAmbientContext(t)){if(t.initializer){var r="=".length;return grammarErrorAtPos(e.getSourceFileOfNode(t),t.initializer.pos-r,r,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return grammarErrorOnNode(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isConst(t))return grammarErrorOnNode(t,e.Diagnostics.const_declarations_must_be_initialized)}var n=e.isLet(t)||e.isConst(t);return n&&checkGrammarNameInLetOrConstDeclarations(t.name)}function checkGrammarNameInLetOrConstDeclarations(t){if(69===t.kind){if(108===t.originalKeywordKind)return grammarErrorOnNode(t,e.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations)}else{var r=t.elements;for(var n=0,a=r;n0}function grammarErrorOnFirstToken(t,r,n,a,i){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Ue.add(e.createFileDiagnostic(o,s.start,s.length,r,n,a,i));return true}}function grammarErrorAtPos(t,r,n,a,i,o,s){if(!hasParseDiagnostics(t)){Ue.add(e.createFileDiagnostic(t,r,n,a,i,o,s));return true}}function grammarErrorOnNode(t,r,n,a,i){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){Ue.add(e.createDiagnosticForNode(t,r,n,a,i));return true}}function checkGrammarConstructorTypeParameters(t){if(t.typeParameters)return grammarErrorAtPos(e.getSourceFileOfNode(t),t.typeParameters.pos,t.typeParameters.end-t.typeParameters.pos,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}function checkGrammarConstructorTypeAnnotation(t){if(t.type)return grammarErrorOnNode(t.type,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}function checkGrammarProperty(t){if(e.isClassLike(t.parent)){if(checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol))return true}else if(222===t.parent.kind){if(checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol))return true;if(t.initializer)return grammarErrorOnNode(t.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}else if(159===t.parent.kind){if(checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol))return true;if(t.initializer)return grammarErrorOnNode(t.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}if(e.isInAmbientContext(t)&&t.initializer)return grammarErrorOnFirstToken(t.initializer,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}function checkGrammarTopLevelElementForRequiredDeclareModifier(t){return!(222===t.kind||223===t.kind||230===t.kind||229===t.kind||236===t.kind||235===t.kind||2&t.flags||t.flags&(1|512))&&grammarErrorOnFirstToken(t,e.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file)}function checkGrammarTopLevelElementsForRequiredDeclareModifier(t){for(var r=0,n=t.statements;r=1)return grammarErrorOnNode(t,e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher)}function grammarErrorAfterFirstToken(t,r,n,a,i){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Ue.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,r,n,a,i));return true}}var it}e.createTypeChecker=createTypeChecker})(l||(l={}));var l;(function(e){var t;var r={emittedLine:1,emittedColumn:1,sourceLine:1,sourceColumn:1,sourceIndex:0};function getNullSourceMapWriter(){void 0===t&&(t={getSourceMapData:function(){},setSourceFile:function(e){},emitStart:function(e){},emitEnd:function(e,t){},emitPos:function(e){},changeEmitSourcePos:function(){},getText:function(){},getSourceMappingURL:function(){},initialize:function(e,t,r,n){},reset:function(){}});return t}e.getNullSourceMapWriter=getNullSourceMapWriter;function createSourceMapWriter(t,n){var a=t.getCompilerOptions();var i;var o;var s=false;var c=false;var l;var u;var _;var d;var p;return{getSourceMapData:function(){return p},setSourceFile:setSourceFile,emitPos:emitPos,emitStart:emitStart,emitEnd:emitEnd,changeEmitSourcePos:changeEmitSourcePos,getText:getText,getSourceMappingURL:getSourceMappingURL,initialize:initialize,reset:reset};function initialize(n,s,c,m){p&&reset();i=void 0;l=-1;u=void 0;_=r;d=0;p={sourceMapFilePath:s,jsSourceMappingURL:a.inlineSourceMap?void 0:e.getBaseFileName(e.normalizeSlashes(s)),sourceMapFile:e.getBaseFileName(e.normalizeSlashes(n)),sourceMapSourceRoot:a.sourceRoot||"",sourceMapSources:[],inputSourceFileNames:[],sourceMapNames:[],sourceMapMappings:"",sourceMapSourcesContent:a.inlineSources?[]:void 0,sourceMapDecodedMappings:[]};p.sourceMapSourceRoot=e.normalizeSlashes(p.sourceMapSourceRoot);p.sourceMapSourceRoot.length&&47!==p.sourceMapSourceRoot.charCodeAt(p.sourceMapSourceRoot.length-1)&&(p.sourceMapSourceRoot+=e.directorySeparator);if(a.mapRoot){o=e.normalizeSlashes(a.mapRoot);if(!m){e.Debug.assert(1===c.length);o=e.getDirectoryPath(e.getSourceFilePathInNewDir(c[0],t,o))}if(e.isRootedDiskPath(o)||e.isUrl(o))p.jsSourceMappingURL=e.combinePaths(o,p.jsSourceMappingURL);else{o=e.combinePaths(t.getCommonSourceDirectory(),o);p.jsSourceMappingURL=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizePath(n)),e.combinePaths(o,p.jsSourceMappingURL),t.getCurrentDirectory(),t.getCanonicalFileName,true)}}else o=e.getDirectoryPath(e.normalizePath(n))}function reset(){i=void 0;o=void 0;l=void 0;u=void 0;_=void 0;d=void 0;p=void 0}function updateLastEncodedAndRecordedSpans(){if(c){c=false;u.emittedLine=_.emittedLine;u.emittedColumn=_.emittedColumn;p.sourceMapDecodedMappings.pop();_=p.sourceMapDecodedMappings.length?p.sourceMapDecodedMappings[p.sourceMapDecodedMappings.length-1]:r;var e=p.sourceMapMappings;var t=e.length-1;for(;t>=0;t--){var n=e.charAt(t);if(","===n)break;if(";"===n&&0!==t&&";"!==e.charAt(t-1))break}p.sourceMapMappings=e.substr(0,Math.max(0,t))}}function encodeLastRecordedSourceMapSpan(){if(u&&u!==_){var t=_.emittedColumn;if(_.emittedLine===u.emittedLine)p.sourceMapMappings&&(p.sourceMapMappings+=",");else{for(var r=_.emittedLine;r=0){e.Debug.assert(false,"We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this");p.sourceMapMappings+=base64VLQFormatEncode(u.nameIndex-d);d=u.nameIndex}_=u;p.sourceMapDecodedMappings.push(_)}}function emitPos(t){if(-1!==t){var r=e.getLineAndCharacterOfPosition(i,t);r.line++;r.character++;var a=n.getLine();var o=n.getColumn();if(!u||u.emittedLine!==a||u.emittedColumn!==o||u.sourceIndex===l&&(u.sourceLine>r.line||u.sourceLine===r.line&&u.sourceColumn>r.character)){encodeLastRecordedSourceMapSpan();u={emittedLine:a,emittedColumn:o,sourceLine:r.line,sourceColumn:r.character,sourceIndex:l};s=false}else if(!s){u.sourceLine=r.line;u.sourceColumn=r.character;u.sourceIndex=l}updateLastEncodedAndRecordedSpans()}}function getStartPos(t){var r=!!t.decorators;return-1!==t.pos?e.skipTrivia(i.text,r?t.decorators.end:t.pos):-1}function emitStart(e){emitPos(getStartPos(e))}function emitEnd(e,t){emitPos(e.end);s=t}function changeEmitSourcePos(){e.Debug.assert(!c);c=true}function setSourceFile(r){i=r;var n=a.sourceRoot?t.getCommonSourceDirectory():o;var s=e.getRelativePathToDirectoryOrUrl(n,i.fileName,t.getCurrentDirectory(),t.getCanonicalFileName,true);l=e.indexOf(p.sourceMapSources,s);if(-1===l){l=p.sourceMapSources.length;p.sourceMapSources.push(s);p.inputSourceFileNames.push(r.fileName);a.inlineSources&&p.sourceMapSourcesContent.push(r.text)}}function getText(){encodeLastRecordedSourceMapSpan();return e.stringify({version:3,file:p.sourceMapFile,sourceRoot:p.sourceMapSourceRoot,sources:p.sourceMapSources,names:p.sourceMapNames,mappings:p.sourceMapMappings,sourcesContent:p.sourceMapSourcesContent})}function getSourceMappingURL(){if(a.inlineSourceMap){var t=e.convertToBase64(getText());return p.jsSourceMappingURL="data:application/json;base64,"+t}return p.jsSourceMappingURL}}e.createSourceMapWriter=createSourceMapWriter;var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function base64FormatEncode(e){if(e<64)return n.charAt(e);throw TypeError(e+": not a 64 based value")}function base64VLQFormatEncode(e){e<0?e=(-e<<1)+1:e<<=1;var t="";do{var r=31&e;e>>=5;e>0&&(r|=32);t+=base64FormatEncode(r)}while(e>0);return t}})(l||(l={}));var l;(function(e){function getDeclarationDiagnostics(t,r,n){var a=e.createDiagnosticCollection();e.forEachExpectedEmitFile(t,getDeclarationDiagnosticsFromFile,n);return a.getDiagnostics(n?n.fileName:void 0);function getDeclarationDiagnosticsFromFile(e,n,i){var o=e.declarationFilePath;emitDeclarations(t,r,a,o,n,i)}}e.getDeclarationDiagnostics=getDeclarationDiagnostics;function emitDeclarations(t,r,n,a,i,o){var s=t.getNewLine();var c=t.getCompilerOptions();var l;var u;var _;var d;var p;var m;createAndSetNewTextWriterWithSymbolWriter();var g;var f;var y;var h;var v;var b;var T=false;var k;var S=c.removeComments?function(e){}:writeJsDocComments;var x=c.stripInternal?stripInternal:emitNode;var C;var D=[];var E;var N="";var O;var A=[];var P=false;var F=[];e.forEach(i,(function(r){if(!e.isSourceFileJavaScript(r)){c.noResolve||e.forEach(r.referencedFiles,(function(n){var a=e.tryResolveScriptReference(t,r,n);if(a&&!e.contains(A,a)){writeReferencePath(a,!o&&!P)&&(P=true);A.push(a)}}));f=false;if(o&&e.isExternalModule(r)){if(e.isExternalModule(r)){C=true;l('declare module "'+e.getResolvedExternalModuleName(t,r)+'" {');u();_();emitSourceFile(r);d();l("}");u()}}else{C=false;emitSourceFile(r)}if(D.length){var n=m;e.forEach(D,(function(t){if(t.isVisible&&!t.asynchronousOutput){e.Debug.assert(230===t.node.kind);createAndSetNewTextWriterWithSymbolWriter();e.Debug.assert(0===t.indent||1===t.indent&&o);for(var r=0;r'+s);return{reportedDeclarationError:T,moduleElementDeclarationEmitInfo:F,synchronousDeclarationOutput:m.getText(),referencesOutput:N};function hasInternalAnnotation(e){var t=y.substring(e.pos,e.end);return t.indexOf("@internal")>=0}function stripInternal(t){if(t){var r=e.getLeadingCommentRanges(y,t.pos);if(e.forEach(r,hasInternalAnnotation))return;emitNode(t)}}function createAndSetNewTextWriterWithSymbolWriter(){var t=e.createTextWriter(s);t.trackSymbol=trackSymbol;t.reportInaccessibleThisError=reportInaccessibleThisError;t.writeKeyword=t.write;t.writeOperator=t.write;t.writePunctuation=t.write;t.writeSpace=t.write;t.writeStringLiteral=t.writeLiteral;t.writeParameter=t.write;t.writeSymbol=t.write;setWriter(t)}function setWriter(e){m=e;l=e.write;p=e.writeTextOfNode;u=e.writeLine;_=e.increaseIndent;d=e.decreaseIndent}function writeAsynchronousModuleElements(t){var r=m;e.forEach(t,(function(t){var r;218===t.kind?r=t.parent.parent:233===t.kind||234===t.kind||231===t.kind?e.Debug.fail("We should be getting ImportDeclaration instead to write"):r=t;var n=e.forEach(D,(function(e){return e.node===r?e:void 0}));!n&&E&&(n=e.forEach(E,(function(e){return e.node===r?e:void 0})));if(n)if(230===n.node.kind)n.isVisible=true;else{createAndSetNewTextWriterWithSymbolWriter();for(var a=n.indent;a;a--)_();if(225===r.kind){e.Debug.assert(void 0===E);E=[]}writeModuleElement(r);if(225===r.kind){n.subModuleElementDeclarationEmitInfo=E;E=void 0}n.asynchronousOutput=m.getText()}}));setWriter(r)}function recordTypeReferenceDirectivesIfNecessary(t){if(t){O||(O={});for(var r=0,n=t;r")}}}function emitTypeReference(e){emitEntityName(e.typeName);if(e.typeArguments){l("<");emitCommaList(e.typeArguments,emitType);l(">")}}function emitTypePredicate(e){p(y,e.parameterName);l(" is ");emitType(e.type)}function emitTypeQuery(e){l("typeof ");emitEntityName(e.exprName)}function emitArrayType(e){emitType(e.elementType);l("[]")}function emitTupleType(e){l("[");emitCommaList(e.elementTypes,emitType);l("]")}function emitUnionType(e){emitSeparatedList(e.types," | ",emitType)}function emitIntersectionType(e){emitSeparatedList(e.types," & ",emitType)}function emitParenType(e){l("(");emitType(e.type);l(")")}function emitTypeLiteral(e){l("{");if(e.members.length){u();_();emitLines(e.members);d()}l("}")}}function emitSourceFile(t){y=t.text;h=e.getLineStarts(t);v=t.identifiers;b=e.isExternalModule(t);g=t;e.emitDetachedComments(y,h,m,e.writeCommentRange,t,s,true);emitLines(t.statements)}function getExportDefaultTempVariableName(){var t="_default";if(!e.hasProperty(v,t))return t;var r=0;while(true){r++;var n=t+"_"+r;if(!e.hasProperty(v,n))return n}}function emitExportAssignment(t){if(69===t.expression.kind){l(t.isExportEquals?"export = ":"export default ");p(y,t.expression)}else{var n=getExportDefaultTempVariableName();C||l("declare ");l("var ");l(n);l(": ");m.getSymbolAccessibilityDiagnostic=getDefaultExportAccessibilityDiagnostic;r.writeTypeOfExpression(t.expression,g,2,m);l(";");u();l(t.isExportEquals?"export = ":"export default ");l(n)}l(";");u();if(69===t.expression.kind){var a=r.collectLinkedAliases(t.expression);writeAsynchronousModuleElements(a)}function getDefaultExportAccessibilityDiagnostic(r){return{diagnosticMessage:e.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:t}}}function isModuleElementVisible(e){return r.isDeclarationVisible(e)}function emitModuleElement(e,t){if(t)writeModuleElement(e);else if(229===e.kind||256===e.parent.kind&&b){var n=void 0;if(E&&256!==e.parent.kind)E.push({node:e,outputPos:m.getTextPos(),indent:m.getIndent(),isVisible:n});else{if(230===e.kind){var a=e;a.importClause&&(n=a.importClause.name&&r.isDeclarationVisible(a.importClause)||isVisibleNamedBinding(a.importClause.namedBindings))}D.push({node:e,outputPos:m.getTextPos(),indent:m.getIndent(),isVisible:n})}}}function writeModuleElement(t){switch(t.kind){case 220:return writeFunctionDeclaration(t);case 200:return writeVariableStatement(t);case 222:return writeInterfaceDeclaration(t);case 221:return writeClassDeclaration(t);case 223:return writeTypeAliasDeclaration(t);case 224:return writeEnumDeclaration(t);case 225:return writeModuleDeclaration(t);case 229:return writeImportEqualsDeclaration(t);case 230:return writeImportDeclaration(t);default:e.Debug.fail("Unknown symbol kind")}}function emitModuleElementDeclarationFlags(e){if(256===e.parent.kind){1&e.flags&&l("export ");512&e.flags?l("default "):222===e.kind||C||l("declare ")}}function emitClassMemberDeclarationFlags(e){8&e?l("private "):16&e&&l("protected ");32&e&&l("static ");64&e&&l("readonly ");128&e&&l("abstract ")}function writeImportEqualsDeclaration(t){S(t);1&t.flags&&l("export ");l("import ");p(y,t.name);l(" = ");if(e.isInternalModuleImportEqualsDeclaration(t)){emitTypeWithNewGetSymbolAccessibilityDiagnostic(t.moduleReference,getImportEntityNameVisibilityError);l(";")}else{l("require(");emitExternalModuleSpecifier(t);l(");")}m.writeLine();function getImportEntityNameVisibilityError(r){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}}function isVisibleNamedBinding(t){if(t)return 232===t.kind?r.isDeclarationVisible(t):e.forEach(t.elements,(function(e){return r.isDeclarationVisible(e)}))}function writeImportDeclaration(e){S(e);1&e.flags&&l("export ");l("import ");if(e.importClause){var t=m.getTextPos();e.importClause.name&&r.isDeclarationVisible(e.importClause)&&p(y,e.importClause.name);if(e.importClause.namedBindings&&isVisibleNamedBinding(e.importClause.namedBindings)){t!==m.getTextPos()&&l(", ");if(232===e.importClause.namedBindings.kind){l("* as ");p(y,e.importClause.namedBindings.name)}else{l("{ ");emitCommaList(e.importClause.namedBindings.elements,emitImportOrExportSpecifier,r.isDeclarationVisible);l(" }")}}l(" from ")}emitExternalModuleSpecifier(e);l(";");m.writeLine()}function emitExternalModuleSpecifier(n){f=f||225!==n.kind;var a;if(229===n.kind){var i=n;a=e.getExternalModuleImportEqualsDeclarationExpression(i)}else if(225===n.kind)a=n.name;else{var i=n;a=i.moduleSpecifier}if(9===a.kind&&o&&(c.out||c.outFile)){var s=e.getExternalModuleNameFromDeclaration(t,r,n);if(s){l('"');l(s);l('"');return}}p(y,a)}function emitImportOrExportSpecifier(e){if(e.propertyName){p(y,e.propertyName);l(" as ")}p(y,e.name)}function emitExportSpecifier(e){emitImportOrExportSpecifier(e);var t=r.collectLinkedAliases(e.propertyName||e.name);writeAsynchronousModuleElements(t)}function emitExportDeclaration(e){S(e);l("export ");if(e.exportClause){l("{ ");emitCommaList(e.exportClause.elements,emitExportSpecifier);l(" }")}else l("*");if(e.moduleSpecifier){l(" from ");emitExternalModuleSpecifier(e)}l(";");m.writeLine()}function writeModuleDeclaration(t){S(t);emitModuleElementDeclarationFlags(t);if(e.isGlobalScopeAugmentation(t))l("global ");else{4096&t.flags?l("namespace "):l("module ");e.isExternalModuleAugmentation(t)?emitExternalModuleSpecifier(t):p(y,t.name)}while(t.body&&226!==t.body.kind){t=t.body;l(".");p(y,t.name)}var r=g;if(t.body){g=t;l(" {");u();_();emitLines(t.body.statements);d();l("}");u();g=r}else l(";")}function writeTypeAliasDeclaration(t){var r=g;g=t;S(t);emitModuleElementDeclarationFlags(t);l("type ");p(y,t.name);emitTypeParameters(t.typeParameters);l(" = ");emitTypeWithNewGetSymbolAccessibilityDiagnostic(t.type,getTypeAliasDeclarationVisibilityError);l(";");u();g=r;function getTypeAliasDeclarationVisibilityError(r){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}}function writeEnumDeclaration(t){S(t);emitModuleElementDeclarationFlags(t);e.isConst(t)&&l("const ");l("enum ");p(y,t.name);l(" {");u();_();emitLines(t.members);d();l("}");u()}function emitEnumMemberDeclaration(e){S(e);p(y,e.name);var t=r.getConstantValue(e);if(void 0!==t){l(" = ");l(t.toString())}l(",");u()}function isPrivateMethodTypeParameter(e){return 147===e.parent.kind&&8&e.parent.flags}function emitTypeParameters(t){function emitTypeParameter(t){_();S(t);d();p(y,t.name);if(t.constraint&&!isPrivateMethodTypeParameter(t)){l(" extends ");if(156===t.parent.kind||157===t.parent.kind||t.parent.parent&&159===t.parent.parent.kind){e.Debug.assert(147===t.parent.kind||146===t.parent.kind||156===t.parent.kind||157===t.parent.kind||151===t.parent.kind||152===t.parent.kind);emitType(t.constraint)}else emitTypeWithNewGetSymbolAccessibilityDiagnostic(t.constraint,getTypeParameterConstraintVisibilityError)}function getTypeParameterConstraintVisibilityError(r){var n;switch(t.parent.kind){case 221:n=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 222:n=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 152:n=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 151:n=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 147:case 146:n=32&t.parent.flags?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:221===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 220:n=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;default:e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind)}return{diagnosticMessage:n,errorNode:t,typeName:t.name}}}if(t){l("<");emitCommaList(t,emitTypeParameter);l(">")}}function emitHeritageClause(t,n){if(t){l(n?" implements ":" extends ");emitCommaList(t,emitTypeOfTypeReference)}function emitTypeOfTypeReference(t){if(e.isSupportedExpressionWithTypeArguments(t))emitTypeWithNewGetSymbolAccessibilityDiagnostic(t,getHeritageClauseVisibilityError);else if(n||93!==t.expression.kind){m.getSymbolAccessibilityDiagnostic=getHeritageClauseVisibilityError;r.writeBaseConstructorTypeOfClass(g,g,2,m)}else l("null");function getHeritageClauseVisibilityError(r){var a;a=221===t.parent.parent.kind?n?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:a,errorNode:t,typeName:t.parent.parent.name}}}}function writeClassDeclaration(t){function emitParameterProperties(t){t&&e.forEach(t.parameters,(function(e){92&e.flags&&emitPropertyDeclaration(e)}))}S(t);emitModuleElementDeclarationFlags(t);128&t.flags&&l("abstract ");l("class ");p(y,t.name);var r=g;g=t;emitTypeParameters(t.typeParameters);var n=e.getClassExtendsHeritageClauseElement(t);n&&emitHeritageClause([n],false);emitHeritageClause(e.getClassImplementsHeritageClauseElements(t),true);l(" {");u();_();emitParameterProperties(e.getFirstConstructorWithBody(t));emitLines(t.members);d();l("}");u();g=r}function writeInterfaceDeclaration(t){S(t);emitModuleElementDeclarationFlags(t);l("interface ");p(y,t.name);var r=g;g=t;emitTypeParameters(t.typeParameters);emitHeritageClause(e.getInterfaceBaseTypeNodes(t),false);l(" {");u();_();emitLines(t.members);d();l("}");u();g=r}function emitPropertyDeclaration(t){if(!e.hasDynamicName(t)){S(t);emitClassMemberDeclarationFlags(t.flags);emitVariableDeclaration(t);l(";");u()}}function emitVariableDeclaration(t){if(218!==t.kind||r.isDeclarationVisible(t))if(e.isBindingPattern(t.name))emitBindingPattern(t.name);else{p(y,t.name);145!==t.kind&&144!==t.kind&&142!==t.kind||!e.hasQuestionToken(t)||l("?");145!==t.kind&&144!==t.kind||159!==t.parent.kind?8&t.flags||writeTypeOfDeclaration(t,t.type,getVariableDeclarationTypeVisibilityError):emitTypeOfVariableDeclarationFromTypeLiteral(t)}function getVariableDeclarationTypeVisibilityDiagnosticMessage(r){return 218===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:145===t.kind||144===t.kind?32&t.flags?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:221===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}function getVariableDeclarationTypeVisibilityError(e){var r=getVariableDeclarationTypeVisibilityDiagnosticMessage(e);return void 0!==r?{diagnosticMessage:r,errorNode:t,typeName:t.name}:void 0}function emitBindingPattern(e){var t=[];for(var r=0,n=e.elements;r0?e.parameters[0].type:void 0}function getAccessorDeclarationTypeVisibilityError(t){var r;if(150===n.kind){r=32&n.parent.flags?t.errorModuleName?e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:r,errorNode:n.parameters[0],typeName:n.name}}r=32&n.flags?t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0;return{diagnosticMessage:r,errorNode:n.name,typeName:void 0}}}function writeFunctionDeclaration(t){if(!e.hasDynamicName(t)&&!r.isImplementationOfOverload(t)){S(t);220===t.kind?emitModuleElementDeclarationFlags(t):147!==t.kind&&148!==t.kind||emitClassMemberDeclarationFlags(t.flags);if(220===t.kind){l("function ");p(y,t.name)}else if(148===t.kind)l("constructor");else{p(y,t.name);e.hasQuestionToken(t)&&l("?")}emitSignatureDeclaration(t)}}function emitSignatureDeclarationWithJsDocComments(e){S(e);emitSignatureDeclaration(e)}function emitSignatureDeclaration(t){var r=g;g=t;var n=false;if(153===t.kind){emitClassMemberDeclarationFlags(t.flags);l("[")}else{if(152===t.kind||157===t.kind)l("new ");else if(156===t.kind){var a=m.getText();if(t.typeParameters&&"<"===a.charAt(a.length-1)){n=true;l("(")}}emitTypeParameters(t.typeParameters);l("(")}emitCommaList(t.parameters,emitParameterDeclaration);153===t.kind?l("]"):l(")");var i=156===t.kind||157===t.kind;if(i||159===t.parent.kind){if(t.type){l(i?" => ":": ");emitType(t.type)}}else 148===t.kind||8&t.flags||writeReturnTypeAtSignature(t,getReturnTypeVisibilityError);g=r;if(i)n&&l(")");else{l(";");u()}function getReturnTypeVisibilityError(r){var n;switch(t.kind){case 152:n=r.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 151:n=r.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 153:n=r.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 147:case 146:n=32&t.flags?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:221===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:r.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 220:n=r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:e.Debug.fail("This is unknown kind for signature: "+t.kind)}return{diagnosticMessage:n,errorNode:t.name||t}}}function emitParameterDeclaration(t){_();S(t);t.dotDotDotToken&&l("...");e.isBindingPattern(t.name)?emitBindingPattern(t.name):p(y,t.name);r.isOptionalParameter(t)&&l("?");d();156===t.parent.kind||157===t.parent.kind||159===t.parent.parent.kind?emitTypeOfVariableDeclarationFromTypeLiteral(t):8&t.parent.flags||writeTypeOfDeclaration(t,t.type,getParameterDeclarationTypeVisibilityError);function getParameterDeclarationTypeVisibilityError(e){var r=getParameterDeclarationTypeVisibilityDiagnosticMessage(e);return void 0!==r?{diagnosticMessage:r,errorNode:t,typeName:t.name}:void 0}function getParameterDeclarationTypeVisibilityDiagnosticMessage(r){switch(t.parent.kind){case 148:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 152:return r.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 151:return r.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 147:case 146:return 32&t.parent.flags?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:221===t.parent.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 220:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;default:e.Debug.fail("This is unknown parent for parameter: "+t.parent.kind)}}function emitBindingPattern(e){if(167===e.kind){l("{");emitCommaList(e.elements,emitBindingElement);l("}")}else if(168===e.kind){l("[");var t=e.elements;emitCommaList(t,emitBindingElement);t&&t.hasTrailingComma&&l(", ");l("]")}}function emitBindingElement(t){if(193===t.kind)l(" ");else if(169===t.kind){if(t.propertyName){p(y,t.propertyName);l(": ")}if(t.name)if(e.isBindingPattern(t.name))emitBindingPattern(t.name);else{e.Debug.assert(69===t.name.kind);t.dotDotDotToken&&l("...");p(y,t.name)}}}}function emitNode(e){switch(e.kind){case 220:case 225:case 229:case 222:case 221:case 223:case 224:return emitModuleElement(e,isModuleElementVisible(e));case 200:return emitModuleElement(e,isVariableStatementVisible(e));case 230:return emitModuleElement(e,!e.importClause);case 236:return emitExportDeclaration(e);case 148:case 147:case 146:return writeFunctionDeclaration(e);case 152:case 151:case 153:return emitSignatureDeclarationWithJsDocComments(e);case 149:case 150:return emitAccessorDeclaration(e);case 145:case 144:return emitPropertyDeclaration(e);case 255:return emitEnumMemberDeclaration(e);case 235:return emitExportAssignment(e);case 256:return emitSourceFile(e)}}function writeReferencePath(r,n){var i;var o=false;e.isDeclarationFile(r)?i=r.fileName:e.forEachExpectedEmitFile(t,getDeclFileName,r);if(i){i=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizeSlashes(a)),i,t.getCurrentDirectory(),t.getCanonicalFileName,false);N+='/// '+s}return o;function getDeclFileName(t,a,s){if(!s||n){e.Debug.assert(!!t.declarationFilePath||e.isSourceFileJavaScript(r),"Declaration file is not present only for javascript files");i=t.declarationFilePath||t.jsFilePath;o=s}}}}function writeDeclarationFile(t,r,n,a,i,o){var s=emitDeclarations(a,i,o,t,r,n);var c=s.reportedDeclarationError||a.isEmitBlocked(t)||a.getCompilerOptions().noEmit;if(!c){var l=s.referencesOutput+getDeclarationOutput(s.synchronousDeclarationOutput,s.moduleElementDeclarationEmitInfo);e.writeFile(a,o,t,l,a.getCompilerOptions().emitBOM,r)}return c;function getDeclarationOutput(t,r){var n=0;var a="";e.forEach(r,(function(e){if(e.asynchronousOutput){a+=t.substring(n,e.outputPos);a+=getDeclarationOutput(e.asynchronousOutput,e.subModuleElementDeclarationEmitInfo);n=e.outputPos}}));a+=t.substring(n);return a}}e.writeDeclarationFile=writeDeclarationFile})(l||(l={}));var l;(function(e){function getResolvedExternalModuleName(t,r){return r.moduleName||e.getExternalModuleNameFromPath(t,r.fileName)}e.getResolvedExternalModuleName=getResolvedExternalModuleName;function getExternalModuleNameFromDeclaration(t,r,n){var a=r.getExternalModuleFileFromDeclaration(n);if(a&&!e.isDeclarationFile(a))return getResolvedExternalModuleName(t,a)}e.getExternalModuleNameFromDeclaration=getExternalModuleNameFromDeclaration;var t;(function(e){e[e["Break"]=2]="Break";e[e["Continue"]=4]="Continue";e[e["Return"]=8]="Return"})(t||(t={}));var r={quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};var n;(function(e){e[e["Auto"]=0]="Auto";e[e["CountMask"]=268435455]="CountMask";e[e["_i"]=268435456]="_i"})(n||(n={}));var a;(function(e){e[e["ToOriginal"]=0]="ToOriginal";e[e["ToOutParameter"]=1]="ToOutParameter"})(a||(a={}));function emitFiles(t,n,a){var i="\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};";var o="\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};";var s='\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};';var c='\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n};';var l="\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};";var u="\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments)).next());\n });\n};";var _=n.getCompilerOptions();var d=e.getEmitScriptTarget(_);var p=e.getEmitModuleKind(_);var m=_.sourceMap||_.inlineSourceMap?[]:void 0;var g=_.listEmittedFiles?[]:void 0;var f=e.createDiagnosticCollection();var y=false;var h=n.getNewLine();var v=createFileEmitter();e.forEachExpectedEmitFile(n,emitFile,a);return{emitSkipped:y,diagnostics:f.getDiagnostics(),emittedFiles:g,sourceMaps:m};function isUniqueLocalName(t,r){for(var n=r;e.isNodeDescendentOf(n,r);n=n.nextContainer)if(n.locals&&e.hasProperty(n.locals,t)&&n.locals[t].flags&(107455|1048576|8388608))return false;return true}function setLabeledJump(e,t,r,n){if(t){e.labeledNonLocalBreaks||(e.labeledNonLocalBreaks={});e.labeledNonLocalBreaks[r]=n}else{e.labeledNonLocalContinues||(e.labeledNonLocalContinues={});e.labeledNonLocalContinues[r]=n}}function hoistVariableDeclarationFromLoop(e,t){e.hoistedLocalVariables||(e.hoistedLocalVariables=[]);visit(t.name);function visit(t){if(69===t.kind)e.hoistedLocalVariables.push(t);else for(var r=0,n=t.elements;r0);b();nodeStartPositionsAreOnSameLine(t,r[0])?a&&g(" "):v();for(var i=0,o=r.length;i1)switch(t.charCodeAt(1)){case 98:case 66:case 111:case 79:return true}return false}function emitLiteral(t){var r=getLiteralText(t);!_.sourceMap&&!_.inlineSourceMap||9!==t.kind&&!e.isTemplateLiteralKind(t.kind)?d<2&&isBinaryOrOctalIntegerLiteral(t,r)?g(t.text):g(r):a.writeLiteral(r)}function getLiteralText(t){if(d<2&&(e.isTemplateLiteralKind(t.kind)||t.hasExtendedUnicodeEscape))return getQuotedEscapedLiteralText('"',t.text,'"');if(t.parent)return e.getTextOfNodeFromSourceText(N,t);switch(t.kind){case 9:return getQuotedEscapedLiteralText('"',t.text,'"');case 11:return getQuotedEscapedLiteralText("`",t.text,"`");case 12:return getQuotedEscapedLiteralText("`",t.text,"${");case 13:return getQuotedEscapedLiteralText("}",t.text,"${");case 14:return getQuotedEscapedLiteralText("}",t.text,"`");case 8:return t.text}e.Debug.fail("Literal kind '"+t.kind+"' not accounted for.")}function getQuotedEscapedLiteralText(t,r,n){return t+e.escapeNonAsciiCharacters(e.escapeString(r))+n}function emitDownlevelRawTemplateLiteral(t){var r=e.getTextOfNodeFromSourceText(N,t);var n=11===t.kind||14===t.kind;r=r.substring(1,r.length-(n?1:2));r=r.replace(/\r\n?/g,"\n");r=e.escapeString(r);g('"'+r+'"')}function emitDownlevelTaggedTemplateArray(t,r){g("[");if(11===t.template.kind)r(t.template);else{r(t.template.head);e.forEach(t.template.templateSpans,(function(e){g(", ");r(e.literal)}))}g("]")}function emitDownlevelTaggedTemplate(t){var r=createAndRecordTempVariable(0);g("(");emit(r);g(" = ");emitDownlevelTaggedTemplateArray(t,emit);g(", ");emit(r);g(".raw = ");emitDownlevelTaggedTemplateArray(t,emitDownlevelRawTemplateLiteral);g(", ");emitParenthesizedIf(t.tag,needsParenthesisForPropertyAccessOrInvocation(t.tag));g("(");emit(r);189===t.template.kind&&e.forEach(t.template.templateSpans,(function(e){g(", ");var t=187===e.expression.kind&&24===e.expression.operatorToken.kind;emitParenthesizedIf(e.expression,t)}));g("))")}function emitTemplateExpression(t){if(d>=2)e.forEachChild(t,emit);else{var r=e.isExpression(t.parent)&&templateNeedsParens(t,t.parent);r&&g("(");var n=false;if(shouldEmitTemplateHead()){emitLiteral(t.head);n=true}for(var a=0,i=t.templateSpans.length;a0||n)&&g(" + ");emitParenthesizedIf(o.expression,s);if(0!==o.literal.text.length){g(" + ");emitLiteral(o.literal)}}r&&g(")")}function shouldEmitTemplateHead(){e.Debug.assert(0!==t.templateSpans.length);return 0!==t.head.text.length||0===t.templateSpans[0].literal.text.length}function templateNeedsParens(e,t){switch(t.kind){case 174:case 175:return t.expression===e;case 176:case 178:return false;default:return-1!==comparePrecedenceToBinaryPlus(t)}}function comparePrecedenceToBinaryPlus(e){switch(e.kind){case 187:switch(e.operatorToken.kind){case 37:case 39:case 40:return 1;case 35:case 36:return 0;default:return-1}case 190:case 188:return-1;default:return 1}}}function emitTemplateSpan(e){emit(e.expression);emit(e.literal)}function jsxEmitReact(t){function emitTagName(t){if(69===t.kind&&e.isIntrinsicJsxName(t.text)){g('"');emit(t);g('"')}else emit(t)}function emitAttributeName(e){if(/^[A-Za-z_]\w*$/.test(e.text))emit(e);else{g('"');emit(e);g('"')}}function emitJsxAttribute(e){emitAttributeName(e.name);g(": ");e.initializer?emit(e.initializer):g("true")}function emitJsxElement(t,r){var n=e.createSynthesizedNode(69);n.text=_.reactNamespace?_.reactNamespace:"React";n.parent=t;emitLeadingComments(t);emitExpressionIdentifier(n);g(".createElement(");emitTagName(t.tagName);g(", ");if(0===t.attributes.length)g("null");else{var a=t.attributes;if(e.forEach(a,(function(e){return 247===e.kind}))){g("__assign(");var i=false;for(var o=0;o0&&g(", ");emit(a[o].expression)}else{e.Debug.assert(246===a[o].kind);if(i)g(", ");else{i=true;o>0&&g(", ");g("{")}emitJsxAttribute(a[o])}i&&g("}");g(")")}else{g("{");for(var o=0,s=a.length;o0&&g(", ");emitJsxAttribute(a[o])}g("}")}}if(r){var c=void 0;var l=false;for(var o=0,s=r.length;o0&&g(" ");if(247===t[r].kind)emitJsxSpreadAttribute(t[r]);else{e.Debug.assert(246===t[r].kind);emitJsxAttribute(t[r])}}}function emitJsxOpeningOrSelfClosingElement(e){g("<");emit(e.tagName);(e.attributes.length>0||242===e.kind)&&g(" ");emitAttributes(e.attributes);242===e.kind?g("/>"):g(">")}function emitJsxClosingElement(e){g("")}function emitJsxElement(e){emitJsxOpeningOrSelfClosingElement(e.openingElement);for(var t=0,r=e.children.length;t=2){var t=e.parent;if(172===t.kind&&t.expression===e){t=t.parent;while(t&&145!==t.kind)t=t.parent;return t&&145===t.kind&&0!==(32&t.flags)&&192===t.parent.kind?t.parent:void 0}}}function emitIdentifier(r){if(K&&"arguments"==r.text&&t.isArgumentsLocalBinding(r)){var n=K.argumentsName||(K.argumentsName=makeUniqueName("arguments"));g(n)}else if(r.parent)if(isExpressionIdentifier(r)){var a=getClassExpressionInPropertyAccessInStaticPropertyDeclaration(r);if(a){var i=t.getReferencedValueDeclaration(r);if(i===a){g(getGeneratedNameForNode(i.name));return}}emitExpressionIdentifier(r)}else isNameOfNestedBlockScopedRedeclarationOrCapturedBinding(r)?g(getGeneratedNameForNode(r)):e.nodeIsSynthesized(r)?g(r.text):y(N,r);else g(r.text)}function emitThis(e){2&t.getNodeCheckFlags(e)?g("_this"):g(K?K.thisName||(K.thisName=makeUniqueName("this")):"this")}function emitSuper(e){if(d>=2)g("super");else{var r=t.getNodeCheckFlags(e);g(256&r?"_super.prototype":"_super")}}function emitObjectBindingPattern(e){g("{ ");var t=e.elements;emitList(t,0,t.length,false,t.hasTrailingComma);g(" }")}function emitArrayBindingPattern(e){g("[");var t=e.elements;emitList(t,0,t.length,false,t.hasTrailingComma);g("]")}function emitBindingElement(t){if(t.propertyName){emit(t.propertyName);g(": ")}t.dotDotDotToken&&g("...");e.isBindingPattern(t.name)?emit(t.name):emitModuleMemberName(t);emitOptional(" = ",t.initializer)}function emitSpreadElementExpression(e){g("...");emit(e.expression)}function emitYieldExpression(t){g(e.tokenToString(114));t.asteriskToken&&g("*");if(t.expression){g(" ");emit(t.expression)}}function emitAwaitExpression(t){var r=needsParenthesisForAwaitExpressionAsYield(t);r&&g("(");g(e.tokenToString(114));g(" ");emit(t.expression);r&&g(")")}function needsParenthesisForAwaitExpressionAsYield(t){return 187===t.parent.kind&&!e.isAssignmentOperator(t.parent.operatorToken.kind)||188===t.parent.kind&&t.parent.condition===t}function needsParenthesisForPropertyAccessOrInvocation(e){switch(e.kind){case 69:case 170:case 172:case 173:case 174:case 178:return false}return true}function emitListWithSpread(e,t,r,n,a){var i=0;var o=0;var s=e.length;while(i0&&g(", ");var c=e[i];if(191===c.kind){c=c.expression;emitParenthesizedIf(c,0===o&&needsParenthesisForPropertyAccessOrInvocation(c));i++;i===s&&0===o&&t&&170!==c.kind&&g(".slice()")}else{var l=i;while(l1&&a&&g(")")}function isSpreadElementExpression(e){return 191===e.kind}function emitArrayLiteral(t){var r=t.elements;if(0===r.length)g("[]");else if(d>=2||!e.forEach(r,isSpreadElementExpression)){g("[");emitLinePreservingList(t,t.elements,r.hasTrailingComma,false);g("]")}else emitListWithSpread(r,true,t.multiLine,r.hasTrailingComma,true)}function emitObjectLiteralBody(e,t){if(0!==t){g("{");if(t>0){var r=e.properties;if(t===r.length)emitLinePreservingList(e,r,d>=1,true);else{var n=e.multiLine;n?b():g(" ");emitList(r,0,t,n,false);n?T():g(" ")}}g("}")}else g("{}")}function emitDownlevelObjectLiteralWithComputedProperties(t,r){var n=t.multiLine;var a=t.properties;g("(");n&&b();var i=createAndRecordTempVariable(0);emit(i);g(" = ");emitObjectLiteralBody(t,r);for(var o=r,s=a.length;o=2&&e.asteriskToken&&g("*");emit(e.name);d<2&&g(": function ");emitSignatureAndBody(e)}function emitPropertyAssignment(e){emit(e.name);g(": ");emitTrailingCommentsOfPosition(e.initializer.pos);emit(e.initializer)}function isExportReference(e){var r=t.getReferencedExportContainer(e);return!!r}function isImportedReference(e){var r=t.getReferencedImportDeclaration(e);return r&&(231===r.kind||234===r.kind)}function emitShorthandPropertyAssignment(t){y(N,t.name);if(d<2||p!==e.ModuleKind.ES6&&isImportedReference(t.name)||isExportReference(t.name)){g(": ");emitExpressionIdentifier(t.name)}if(d>=2&&t.objectAssignmentInitializer){g(" = ");emit(t.objectAssignmentInitializer)}}function tryEmitConstantValue(t){var r=tryGetConstEnumValue(t);if(void 0!==r){g(r.toString());if(!_.removeComments){var n=172===t.kind?e.declarationNameToString(t.name):e.getTextOfNode(t.argumentExpression);g(" /* "+n+" */")}return true}return false}function tryGetConstEnumValue(e){if(!_.isolatedModules)return 172===e.kind||173===e.kind?t.getConstantValue(e):void 0}function indentIfOnDifferentLines(t,r,n,a){var i=!e.nodeIsSynthesized(t)&&!nodeEndIsOnSameLineAsNodeStart(r,n);var o=synthesizedNodeStartsOnNewLine(n);if(i||o){b();v();return true}a&&g(a);return false}function emitPropertyAccess(t){if(!tryEmitConstantValue(t))if(2===d&&95===t.expression.kind&&isInAsyncMethodWithSuperInES6(t)){var r=e.createSynthesizedNode(9);r.text=t.name.text;emitSuperAccessInAsyncMethod(t.expression,r)}else{emit(t.expression);var n=e.nodeIsSynthesized(t.expression)?-1:t.expression.end;var a=e.nodeIsSynthesized(t.expression)?-1:e.skipTrivia(N,t.expression.end)+1;var i={pos:n,end:a};var o=indentIfOnDifferentLines(t,t.expression,i);var s=false;if(!o)if(8===t.expression.kind){var c=e.getTextOfNodeFromSourceText(N,t.expression);s=c.indexOf(e.tokenToString(21))<0}else{var l=tryGetConstEnumValue(t.expression);s=isFinite(l)&&Math.floor(l)===l}g(s?" .":".");var u=indentIfOnDifferentLines(t,i,t.name);emit(t.name);decreaseIndentIf(o,u)}}function emitQualifiedName(e){emit(e.left);g(".");emit(e.right)}function emitQualifiedNameAsExpression(e,t){if(69===e.left.kind)emitEntityNameAsExpression(e.left,t);else if(t){var r=createAndRecordTempVariable(0);g("(");emitNodeWithoutSourceMap(r);g(" = ");emitEntityNameAsExpression(e.left,true);g(") && ");emitNodeWithoutSourceMap(r)}else emitEntityNameAsExpression(e.left,false);g(".");emit(e.right)}function emitEntityNameAsExpression(e,t){switch(e.kind){case 69:if(t){g("typeof ");emitExpressionIdentifier(e);g(" !== 'undefined' && ")}emitExpressionIdentifier(e);break;case 139:emitQualifiedNameAsExpression(e,t);break;default:emitNodeWithoutSourceMap(e);break}}function emitIndexedAccess(e){if(!tryEmitConstantValue(e))if(2===d&&95===e.expression.kind&&isInAsyncMethodWithSuperInES6(e))emitSuperAccessInAsyncMethod(e.expression,e.argumentExpression);else{emit(e.expression);g("[");emit(e.argumentExpression);g("]")}}function hasSpreadElement(t){return e.forEach(t,(function(e){return 191===e.kind}))}function skipParentheses(e){while(178===e.kind||177===e.kind||195===e.kind||196===e.kind)e=e.expression;return e}function emitCallTarget(e){if(69===e.kind||97===e.kind||95===e.kind){emit(e);return e}var t=createAndRecordTempVariable(0);g("(");emit(t);g(" = ");emit(e);g(")");return t}function emitCallWithSpread(e){var t;var r=skipParentheses(e.expression);if(172===r.kind){t=emitCallTarget(r.expression);g(".");emit(r.name)}else if(173===r.kind){t=emitCallTarget(r.expression);g("[");emit(r.argumentExpression);g("]")}else if(95===r.kind){t=r;g("_super")}else emit(e.expression);g(".apply(");t?95===t.kind?emitThis(t):emit(t):g("void 0");g(", ");emitListWithSpread(e.arguments,false,false,false,true);g(")")}function isInAsyncMethodWithSuperInES6(r){if(2===d){var n=e.getSuperContainer(r,false);if(n&&t.getNodeCheckFlags(n)&(2048|4096))return true}return false}function emitSuperAccessInAsyncMethod(r,n){var a=e.getSuperContainer(r,false);var i=4096&t.getNodeCheckFlags(a);g("_super(");emit(n);g(i?").value":")")}function emitCallExpression(t){if(d<2&&hasSpreadElement(t.arguments))emitCallWithSpread(t);else{var r=t.expression;var n=false;var a=false;if(95===r.kind){emitSuper(r);n=true}else{n=e.isSuperPropertyOrElementAccess(r);a=n&&isInAsyncMethodWithSuperInES6(t);emit(r)}if(n&&(d<2||a)){g(".call(");emitThis(r);if(t.arguments.length){g(", ");emitCommaList(t.arguments)}g(")")}else{g("(");emitCommaList(t.arguments);g(")")}}}function emitNewExpression(e){g("new ");if(1===d&&e.arguments&&hasSpreadElement(e.arguments)){g("(");var t=emitCallTarget(e.expression);g(".bind.apply(");emit(t);g(", [void 0].concat(");emitListWithSpread(e.arguments,false,false,false,false);g(")))");g("()")}else{emit(e.expression);if(e.arguments){g("(");emitCommaList(e.arguments);g(")")}}}function emitTaggedTemplateExpression(e){if(d>=2){emit(e.tag);g(" ");emit(e.template)}else emitDownlevelTaggedTemplate(e)}function emitParenExpression(t){if(!e.nodeIsSynthesized(t)&&180!==t.parent.kind&&(177===t.expression.kind||195===t.expression.kind||196===t.expression.kind)){var r=t.expression.expression;while(177===r.kind||195===r.kind||196===r.kind)r=r.expression;if(185!==r.kind&&183!==r.kind&&182!==r.kind&&181!==r.kind&&186!==r.kind&&175!==r.kind&&!(174===r.kind&&175===t.parent.kind)&&!(179===r.kind&&174===t.parent.kind)&&!(8===r.kind&&172===t.parent.kind)){emit(r);return}}g("(");emit(t.expression);g(")")}function emitDeleteExpression(t){g(e.tokenToString(78));g(" ");emit(t.expression)}function emitVoidExpression(t){g(e.tokenToString(103));g(" ");emit(t.expression)}function emitTypeOfExpression(t){g(e.tokenToString(101));g(" ");emit(t.expression)}function isNameOfExportedSourceLevelDeclarationInSystemExternalModule(r){if(!isCurrentFileSystemExternalModule()||69!==r.kind||e.nodeIsSynthesized(r))return false;var n=r.parent&&(218===r.parent.kind||169===r.parent.kind);var a=n?r.parent:t.getReferencedValueDeclaration(r);return isSourceFileLevelDeclarationInSystemJsModule(a,true)}function isNameOfExportedDeclarationInNonES6Module(t){return p!==e.ModuleKind.System&&69===t.kind&&!e.nodeIsSynthesized(t)&&(!Y&&X&&e.hasProperty(X,t.text))}function emitPrefixUnaryExpression(t){var r=41===t.operator||42===t.operator;var n=r&&isNameOfExportedSourceLevelDeclarationInSystemExternalModule(t.operand);if(n){g(I+'("');emitNodeWithoutSourceMap(t.operand);g('", ')}var a=r&&isNameOfExportedDeclarationInNonES6Module(t.operand);a&&emitAliasEqual(t.operand);g(e.tokenToString(t.operator));if(185===t.operand.kind){var i=t.operand;(35!==t.operator||35!==i.operator&&41!==i.operator)&&(36!==t.operator||36!==i.operator&&42!==i.operator)||g(" ")}emit(t.operand);n&&g(")")}function emitPostfixUnaryExpression(t){var r=isNameOfExportedSourceLevelDeclarationInSystemExternalModule(t.operand);var n=isNameOfExportedDeclarationInNonES6Module(t.operand);if(r){g("("+I+'("');emitNodeWithoutSourceMap(t.operand);g('", ');g(e.tokenToString(t.operator));emit(t.operand);41===t.operator?g(") - 1)"):g(") + 1)")}else if(n){emitAliasEqual(t.operand);emit(t.operand);41===t.operator?g(" += 1"):g(" -= 1")}else{emit(t.operand);g(e.tokenToString(t.operator))}}function shouldHoistDeclarationInSystemJsModule(e){return isSourceFileLevelDeclarationInSystemJsModule(e,false)}function isSourceFileLevelDeclarationInSystemJsModule(t,r){if(!t||!isCurrentFileSystemExternalModule())return false;var n=e.getRootDeclaration(t).parent;while(n){if(256===n.kind)return!r||0!==(1&e.getCombinedNodeFlags(t));if(e.isDeclaration(n))return false;n=n.parent}}function emitExponentiationOperator(t){var r=t.left;if(60===t.operatorToken.kind){var n=void 0;var a=false;if(e.isElementAccessExpression(r)){a=true;g("(");n=e.createSynthesizedNode(173,false);var i=emitTempVariableAssignment(r.expression,false,false);n.expression=i;if(8!==r.argumentExpression.kind&&9!==r.argumentExpression.kind){var o=createAndRecordTempVariable(268435456);n.argumentExpression=o;emitAssignment(o,r.argumentExpression,true,r.expression)}else n.argumentExpression=r.argumentExpression;g(", ")}else if(e.isPropertyAccessExpression(r)){a=true;g("(");n=e.createSynthesizedNode(172,false);var i=emitTempVariableAssignment(r.expression,false,false);n.expression=i;n.name=r.name;g(", ")}emit(n||r);g(" = ");g("Math.pow(");emit(n||r);g(", ");emit(t.right);g(")");a&&g(")")}else{g("Math.pow(");emit(r);g(", ");emit(t.right);g(")")}}function emitAliasEqual(e){for(var t=0,r=X[e.text];t=2?e.isLet(t)?g("let "):e.isConst(t)?g("const "):g("var "):g("var ");return true}function emitVariableDeclarationListSkippingUninitializedEntries(e){var t=false;for(var r=0,n=e.declarations;r=1){tryEmitStartOfVariableDeclarationList(n);emit(n.declarations[0])}}else emit(e.initializer);207===e.kind?g(" in "):g(" of ");emit(e.expression);emitToken(18,e.expression.end);t?emitConvertedLoopCall(t,true):emitNormalLoopBody(e,true)}function emitDownLevelForOfStatementWorker(t,r){var n=emitToken(86,t.pos);g(" ");n=emitToken(17,n);var a=createTempVariable(268435456);var i=e.createSynthesizedNode(69);i.text=69===t.expression.kind?makeUniqueName(t.expression.text):makeTempVariableName(0);x(t.expression);g("var ");emitNodeWithoutSourceMap(a);g(" = 0");C(t.expression);g(", ");x(t.expression);emitNodeWithoutSourceMap(i);g(" = ");emitNodeWithoutSourceMap(t.expression);C(t.expression);g("; ");x(t.expression);emitNodeWithoutSourceMap(a);g(" < ");emitNodeWithCommentsAndWithoutSourcemap(i);g(".length");C(t.expression);g("; ");x(t.expression);emitNodeWithoutSourceMap(a);g("++");C(t.expression);emitToken(18,t.expression.end);g(" {");v();b();var o=createElementAccessExpression(i,a);x(t.initializer);if(219===t.initializer.kind){g("var ");var s=t.initializer;if(s.declarations.length>0){var c=s.declarations[0];if(e.isBindingPattern(c.name))emitDestructuring(c,false,o);else{emitNodeWithCommentsAndWithoutSourcemap(c);g(" = ");emitNodeWithoutSourceMap(o)}}else{emitNodeWithoutSourceMap(createTempVariable(0));g(" = ");emitNodeWithoutSourceMap(o)}}else{var l=createBinaryExpression(t.initializer,56,o,false);170===t.initializer.kind||171===t.initializer.kind?emitDestructuring(l,true,void 0):emitNodeWithCommentsAndWithoutSourcemap(l)}C(t.initializer);g(";");if(r){v();emitConvertedLoopCall(r,false)}else emitNormalLoopBody(t,false);v();T();g("}")}function emitBreakOrContinueStatement(e){if(K){var t=210===e.kind?2:4;var r=e.label&&K.labels&&K.labels[e.label.text]||!e.label&&K.allowedNonLabeledJumps&t;if(!r){g("return ");copyLoopOutParameters(K,1,false);if(e.label){var n=void 0;if(210===e.kind){n="break-"+e.label.text;setLabeledJump(K,true,e.label.text,n)}else{n="continue-"+e.label.text;setLabeledJump(K,false,e.label.text,n)}g('"'+n+'";')}else if(210===e.kind){K.nonLocalJumps|=2;g('"break";')}else{K.nonLocalJumps|=4;g('"continue";')}return}}emitToken(210===e.kind?70:75,e.pos);emitOptional(" ",e.label);g(";")}function emitReturnStatement(e){if(K){K.nonLocalJumps|=8;g("return { value: ");e.expression?emit(e.expression):g("void 0");g(" };")}else{emitToken(94,e.pos);emitOptional(" ",e.expression);g(";")}}function emitWithStatement(e){g("with (");emit(e.expression);g(")");emitEmbeddedStatement(e.statement)}function emitSwitchStatement(e){var t=emitToken(96,e.pos);g(" ");emitToken(17,t);emit(e.expression);t=emitToken(18,e.expression.end);g(" ");var r;if(K){r=K.allowedNonLabeledJumps;K.allowedNonLabeledJumps|=2}emitCaseBlock(e.caseBlock,t);K&&(K.allowedNonLabeledJumps=r)}function emitCaseBlock(e,t){emitToken(15,t);b();emitLines(e.clauses);T();v();emitToken(16,e.clauses.end)}function nodeStartPositionsAreOnSameLine(t,r){return e.getLineOfLocalPositionFromLineMap(O,e.skipTrivia(N,t.pos))===e.getLineOfLocalPositionFromLineMap(O,e.skipTrivia(N,r.pos))}function nodeEndPositionsAreOnSameLine(t,r){return e.getLineOfLocalPositionFromLineMap(O,t.end)===e.getLineOfLocalPositionFromLineMap(O,r.end)}function nodeEndIsOnSameLineAsNodeStart(t,r){return e.getLineOfLocalPositionFromLineMap(O,t.end)===e.getLineOfLocalPositionFromLineMap(O,e.skipTrivia(N,r.pos))}function emitCaseOrDefaultClause(e){if(249===e.kind){g("case ");emit(e.expression);g(":")}else g("default:");if(1===e.statements.length&&nodeStartPositionsAreOnSameLine(e,e.statements[0])){g(" ");emit(e.statements[0])}else{b();emitLines(e.statements);T()}}function emitThrowStatement(e){g("throw ");emit(e.expression);g(";")}function emitTryStatement(e){g("try ");emit(e.tryBlock);emit(e.catchClause);if(e.finallyBlock){v();g("finally ");emit(e.finallyBlock)}}function emitCatchClause(e){v();var t=emitToken(72,e.pos);g(" ");emitToken(17,t);emit(e.variableDeclaration);emitToken(18,e.variableDeclaration?e.variableDeclaration.end:t);g(" ");emitBlock(e.block)}function emitDebuggerStatement(e){emitToken(76,e.pos);g(";")}function emitLabelAndColon(e){emit(e.label);g(": ")}function emitLabeledStatement(t){e.isIterationStatement(t.statement,false)&&shouldConvertLoopBody(t.statement)||emitLabelAndColon(t);if(K){K.labels||(K.labels={});K.labels[t.label.text]=t.label.text}emit(t.statement);K&&(K.labels[t.label.text]=void 0)}function getContainingModule(e){do{e=e.parent}while(e&&225!==e.kind);return e}function emitContainingModuleName(e){var t=getContainingModule(e);g(t?getGeneratedNameForNode(t):"exports")}function emitModuleMemberName(t){x(t.name);if(1&e.getCombinedNodeFlags(t)){var r=getContainingModule(t);if(r){g(getGeneratedNameForNode(r));g(".")}else p!==e.ModuleKind.ES6&&p!==e.ModuleKind.System&&g("exports.")}emitNodeWithCommentsAndWithoutSourcemap(t.name);C(t.name)}function createVoidZero(){var t=e.createSynthesizedNode(8);t.text="0";var r=e.createSynthesizedNode(183);r.expression=t;return r}function emitEs6ExportDefaultCompat(t){if(256===t.parent.kind){e.Debug.assert(!!(512&t.flags)||235===t.kind);if((p===e.ModuleKind.CommonJS||p===e.ModuleKind.AMD||p===e.ModuleKind.UMD)&&!F)if(0!==d){g('Object.defineProperty(exports, "__esModule", { value: true });');v()}else{g("exports.__esModule = true;");v()}}}function emitExportMemberAssignment(t){if(1&t.flags){v();x(t);if(p===e.ModuleKind.System&&t.parent===E){g(I+'("');512&t.flags?g("default"):emitNodeWithCommentsAndWithoutSourcemap(t.name);g('", ');emitDeclarationName(t);g(")")}else{if(512&t.flags){emitEs6ExportDefaultCompat(t);g(0===d?'exports["default"]':"exports.default")}else emitModuleMemberName(t);g(" = ");emitDeclarationName(t)}C(t);g(";")}}function emitExportMemberAssignments(t){if(p!==e.ModuleKind.System&&!Y&&X&&e.hasProperty(X,t.text))for(var r=0,n=X[t.text];r0,r);a++;return n}function createDefaultValueCheck(t,r,n){t=ensureIdentifier(t,true,n);var a=e.createSynthesizedNode(187);a.left=t;a.operatorToken=e.createSynthesizedNode(32);a.right=createVoidZero();return createConditionalExpression(a,r,t)}function createConditionalExpression(t,r,n){var a=e.createSynthesizedNode(188);a.condition=t;a.questionToken=e.createSynthesizedNode(53);a.whenTrue=r;a.colonToken=e.createSynthesizedNode(54);a.whenFalse=n;return a}function createNumericLiteral(t){var r=e.createSynthesizedNode(8);r.text=""+t;return r}function createPropertyAccessForDestructuringProperty(t,r){var n;var a=140===r.kind;if(a)n=ensureIdentifier(r.expression,false,r);else{n=e.createSynthesizedNode(r.kind);n.text=e.unescapeIdentifier(r.text)}return a||69!==n.kind?createElementAccessExpression(t,n):createPropertyAccessExpression(t,n)}function createSliceCall(t,r){var n=e.createSynthesizedNode(174);var a=e.createSynthesizedNode(69);a.text="slice";n.expression=createPropertyAccessExpression(t,a);n.arguments=e.createSynthesizedNodeArray();n.arguments[0]=createNumericLiteral(r);return n}function emitObjectLiteralAssignment(e,t,r){var n=e.properties;1!==n.length&&(t=ensureIdentifier(t,true,r));for(var a=0,i=n;a0,r);a++}}function emitAssignmentExpression(t){var n=t.left;var a=t.right;if(e.isEmptyObjectLiteralOrArrayLiteral(n))emit(a);else if(r)emitDestructuringAssignment(n,a,e.nodeIsSynthesized(t)?n:t);else{178!==t.parent.kind&&g("(");a=ensureIdentifier(a,true,t);emitDestructuringAssignment(n,a,t);g(", ");emit(a);178!==t.parent.kind&&g(")")}}function emitBindingElement(t,r){t.initializer?r=r?createDefaultValueCheck(r,t.initializer,t):t.initializer:r||(r=createVoidZero());if(e.isBindingPattern(t.name)){var n=t.name;var i=n.elements;var o=i.length;1!==o&&(r=ensureIdentifier(r,0!==o,t));for(var s=0;s0,t);a++}}}function emitVariableDeclaration(r){if(e.isBindingPattern(r.name)){var n=1&e.getCombinedNodeFlags(r);if(d>=2&&(!n||p===e.ModuleKind.ES6)){var a=p===e.ModuleKind.System&&shouldHoistVariable(r,true);a&&g("(");emit(r.name);emitOptional(" = ",r.initializer);a&&g(")")}else emitDestructuring(r,false)}else{var i=r.initializer;if(!i&&d<2&&69===r.name.kind){var o=e.getEnclosingBlockScopeContainer(r);var s=t.getNodeCheckFlags(r);var c=131072&s;var l=262144&s;var u=e.isBlockScopedContainerTopLevel(o)||c&&l&&199===o.kind&&e.isIterationStatement(o.parent,false);var _=1024&e.getCombinedNodeFlags(r)&&!u;var m=_&&207!==o.kind&&208!==o.kind&&(!t.isDeclarationWithCollidingName(r)||l&&!c&&!e.isIterationStatement(o,false));m&&(i=createVoidZero())}var f=isNameOfExportedSourceLevelDeclarationInSystemExternalModule(r.name);if(f){g(I+'("');emitNodeWithCommentsAndWithoutSourcemap(r.name);g('", ')}emitModuleMemberName(r);emitOptional(" = ",i);f&&g(")")}}function emitExportVariableAssignments(t){if(193!==t.kind){var r=t.name;69===r.kind?emitExportMemberAssignments(r):e.isBindingPattern(r)&&e.forEach(r.elements,emitExportVariableAssignments)}}function isES6ExportedDeclaration(t){return!!(1&t.flags)&&p===e.ModuleKind.ES6&&256===t.parent.kind}function emitVariableStatement(t){var r=false;if(1&t.flags){if(isES6ExportedDeclaration(t)){g("export ");r=tryEmitStartOfVariableDeclarationList(t.declarationList)}}else r=tryEmitStartOfVariableDeclarationList(t.declarationList);if(r){emitCommaList(t.declarationList.declarations);g(";")}else{var n=emitVariableDeclarationListSkippingUninitializedEntries(t.declarationList);n&&g(";")}p!==e.ModuleKind.ES6&&t.parent===E&&e.forEach(t.declarationList.declarations,emitExportVariableAssignments)}function shouldEmitLeadingAndTrailingCommentsForVariableStatement(e){if(!(1&e.flags))return true;if(isES6ExportedDeclaration(e))return true;for(var t=0,r=e.declarationList.declarations;t=2}function emitDeclarationName(e){e.name?emitNodeWithCommentsAndWithoutSourcemap(e.name):g(getGeneratedNameForNode(e))}function shouldEmitFunctionName(t){return 179===t.kind?!!t.name:220===t.kind?!!t.name||p!==e.ModuleKind.ES6:void 0}function emitFunctionDeclaration(t){if(e.nodeIsMissing(t.body))return emitCommentsOnNotEmittedNode(t);var r=t.kind,n=t.parent;147!==r&&146!==r&&n&&253!==n.kind&&174!==n.kind&&170!==n.kind&&emitLeadingComments(t);x(t);if(!shouldEmitAsArrowFunction(t)){if(isES6ExportedDeclaration(t)){g("export ");512&t.flags&&g("default ")}g("function");d>=2&&t.asteriskToken&&g("*");g(" ")}shouldEmitFunctionName(t)&&emitDeclarationName(t);emitSignatureAndBody(t);p!==e.ModuleKind.ES6&&220===r&&n===E&&t.name&&emitExportMemberAssignments(t.name);C(t);147!==r&&146!==r&&180!==r&&emitTrailingComments(t)}function emitCaptureThisForNodeIfNecessary(e){if(4&t.getNodeCheckFlags(e)){v();x(e);g("var _this = this;");C(e)}}function emitSignatureParameters(t){b();g("(");if(t){var r=t.parameters;var n=t.parameters.length&&"this"===t.parameters[0].name.text?1:0;var a=d<2&&e.hasDeclaredRestParameter(t)?1:0;emitList(r,n,r.length-a-n,false,false)}g(")");T()}function emitSignatureParametersForArrow(e){1!==e.parameters.length||e.pos!==e.parameters[0].pos?emitSignatureParameters(e):emit(e.parameters[0])}function emitAsyncFunctionBodyForES6(r){var n=e.getEntityNameFromTypeNode(r.type);var a=180===r.kind;var i=0!==(8192&t.getNodeCheckFlags(r));if(!a){g(" {");b();v();if(4096&t.getNodeCheckFlags(r)){writeLines("\nconst _super = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n})(name => super[name], (name, value) => super[name] = value);");v()}else if(2048&t.getNodeCheckFlags(r)){g("const _super = name => super[name];");v()}g("return")}g(" __awaiter(this");g(i?", arguments, ":", void 0, ");d>=2||!n?g("void 0"):emitEntityNameAsExpression(n,false);g(", function* ()");emitFunctionBody(r);g(")");if(!a){g(";");T();v();g("}")}}function emitFunctionBody(e){e.body?199===e.body.kind?emitBlockFunctionBody(e,e.body):emitExpressionFunctionBody(e,e.body):g(" { }")}function emitSignatureAndBody(t){var r=K;var n=G;var a=H;var i=q;K=void 0;G=0;H=void 0;q=void 0;if(shouldEmitAsArrowFunction(t)){emitSignatureParametersForArrow(t);g(" =>")}else emitSignatureParameters(t);var o=e.isAsyncFunctionLike(t);o?emitAsyncFunctionBodyForES6(t):emitFunctionBody(t);isES6ExportedDeclaration(t)||emitExportMemberAssignment(t);e.Debug.assert(void 0===K);K=r;G=n;H=a;q=i}function emitFunctionBodyPreamble(e){emitCaptureThisForNodeIfNecessary(e);emitDefaultValueAssignments(e);emitRestParameter(e)}function emitExpressionFunctionBody(e,t){if(d<2||256&e.flags)emitDownLevelExpressionFunctionBody(e,t);else{g(" ");var r=t;while(177===r.kind)r=r.expression;emitParenthesizedIf(t,171===r.kind)}}function emitDownLevelExpressionFunctionBody(e,t){g(" {");b();var r=a.getTextPos();emitDetachedCommentsAndUpdateCommentsInfo(e.body);emitFunctionBodyPreamble(e);var n=a.getTextPos()!==r;T();if(!n&&nodeStartPositionsAreOnSameLine(e,t)){g(" ");x(t);g("return ");emit(t);C(t);g(";");emitTempDeclarations(false);g(" ")}else{b();v();emitLeadingComments(e.body);x(t);g("return ");emit(t);C(t);g(";");emitTrailingComments(e.body);emitTempDeclarations(true);T();v()}x(e.body);g("}");C(e.body)}function emitBlockFunctionBody(e,t){g(" {");var r=a.getTextPos();b();emitDetachedCommentsAndUpdateCommentsInfo(t.statements);var n=emitDirectivePrologues(t.statements,true);emitFunctionBodyPreamble(e);T();var i=a.getTextPos()!==r;if(!i&&nodeEndIsOnSameLineAsNodeStart(t,t)){for(var o=0,s=t.statements;o=n.length)){var a=n[r];return 202===a.kind&&e.isSuperCallExpression(a.expression)?a:void 0}}}function emitParameterPropertyAssignments(t){e.forEach(t.parameters,(function(e){if(92&e.flags){v();x(e);x(e.name);g("this.");emitNodeWithoutSourceMap(e.name);C(e.name);g(" = ");emit(e.name);g(";");C(e)}}))}function emitMemberAccessForPropertyName(e){if(9===e.kind||8===e.kind){g("[");emitNodeWithCommentsAndWithoutSourcemap(e);g("]")}else if(140===e.kind)emitComputedPropertyName(e);else{g(".");emitNodeWithCommentsAndWithoutSourcemap(e)}}function getInitializedProperties(e,t){var r=[];for(var n=0,a=e.members;n=2)||a||n){a&&emitLeadingComments(a);x(a||t);if(d<2){g("function ");emitDeclarationName(t);emitSignatureParameters(a)}else{g("constructor");a?emitSignatureParameters(a):g(r?"(...args)":"()")}var i=0;g(" {");b();if(a){i=emitDirectivePrologues(a.body.statements,true);emitDetachedCommentsAndUpdateCommentsInfo(a.body.statements)}emitCaptureThisForNodeIfNecessary(t);var o;if(a){emitDefaultValueAssignments(a);emitRestParameter(a);if(r){o=getSuperCallAtGivenIndex(a,i);if(o){v();emit(o)}}emitParameterPropertyAssignments(a)}else if(r){v();x(r);g(d<2?"_super.apply(this, arguments);":"super(...args);");C(r)}emitPropertyDeclarations(t,getInitializedProperties(t,false));if(a){var s=a.body.statements;o&&(s=s.slice(1));emitLinesStartingAt(s,i)}emitTempDeclarations(true);v();a&&re(a.body.statements.end);T();emitToken(16,a?a.body.statements.end:t.members.end);C(a||t);a&&emitTrailingComments(a)}}function emitClassExpression(e){return emitClassLikeDeclaration(e)}function emitClassDeclaration(e){return emitClassLikeDeclaration(e)}function emitClassLikeDeclaration(t){d<2?emitClassLikeDeclarationBelowES6(t):emitClassLikeDeclarationForES6AndHigher(t);p!==e.ModuleKind.ES6&&t.parent===E&&t.name&&emitExportMemberAssignments(t.name)}function emitClassLikeDeclarationForES6AndHigher(r){var n;var a=shouldHoistDeclarationInSystemJsModule(r);var i=e.nodeIsDecorated(r);var o=i||a;if(221===r.kind)if(o){if(i&&524288&t.getNodeCheckFlags(r)){n=e.unescapeIdentifier(makeUniqueName(r.name?r.name.text:"default"));J[e.getNodeId(r)]=n}!isES6ExportedDeclaration(r)||512&r.flags||void 0!==n||g("export ");a||g("let ");void 0!==n?g(""+n):emitDeclarationName(r);g(" = ")}else if(isES6ExportedDeclaration(r)){g("export ");512&r.flags&&g("default ")}var s=getInitializedProperties(r,true);var c=s.length>0&&192===r.kind;var l;if(c){l=getGeneratedNameForNode(r.name);var u=e.createSynthesizedNode(69);u.text=l;recordTempDeclaration(u);g("(");b();emit(u);g(" = ")}g("class");if(r.name||512&r.flags&&(s.length>0||p!==e.ModuleKind.ES6)&&!o){g(" ");emitDeclarationName(r)}var _=e.getClassExtendsHeritageClauseElement(r);if(_){g(" extends ");emit(_.expression)}g(" {");b();v();emitConstructor(r,_);emitMemberFunctionsForES6AndHigher(r);T();v();emitToken(16,r.members.end);if(o){if(void 0!==n){g(";");v();!isES6ExportedDeclaration(r)||512&r.flags||g("export ");g("let ");emitDeclarationName(r);g(" = "+n)}J[e.getNodeId(r)]=void 0;g(";")}if(c){for(var d=0,m=s;d0));emitSerializedTypeMetadata(t,s>=0);T();v();g("], ");emitDeclarationName(t);g(")");C(t.decorators||i);g(";");v()}}function emitDecoratorsOfMembers(t,r){for(var n=0,a=t.members;n0));emitSerializedTypeMetadata(i,_>0);T();v();g("], ");emitClassMemberPrefix(t,i);g(", ");emitExpressionForPropertyName(i.name);d>0&&(145!==i.kind?g(", null"):g(", void 0"));g(")");C(o||l);g(";");v()}}}}function emitDecoratorsOfParameters(t,r){var n=0;if(t){var a=0;for(var i=0,o=t.parameters;i0)for(var i=0;i0&&g(", ");if(n[i].dotDotDotToken){var o=n[i].type;o=o&&160===o.kind?o.elementType:o&&155===o.kind&&o.typeArguments&&1===o.typeArguments.length?o.typeArguments[0]:void 0;emitSerializedTypeNode(o)}else emitSerializedTypeOfNode(n[i])}}}}function emitSerializedReturnTypeOfNode(t){if(t&&e.isFunctionLike(t)){if(t.type){emitSerializedTypeNode(t.type);return}if(e.isAsyncFunctionLike(t)){g("Promise");return}}g("void 0")}function emitSerializedTypeMetadata(e,t){var r=0;if(_.emitDecoratorMetadata){if(shouldEmitTypeMetadata(e)){t&&g(", ");v();g("__metadata('design:type', ");emitSerializedTypeOfNode(e);g(")");r++}if(shouldEmitParamTypesMetadata(e)){(t||r)&&g(", ");v();g("__metadata('design:paramtypes', [");emitSerializedParameterTypesOfNode(e);g("])");r++}if(shouldEmitReturnTypeMetadata(e)){(t||r)&&g(", ");v();g("__metadata('design:returntype', ");emitSerializedReturnTypeOfNode(e);g(")");r++}}return r}function emitInterfaceDeclaration(e){emitCommentsOnNotEmittedNode(e)}function shouldEmitEnumDeclaration(t){var r=e.isConst(t);return!r||_.preserveConstEnums||_.isolatedModules}function emitEnumDeclaration(t){if(shouldEmitEnumDeclaration(t)){if(!shouldHoistDeclarationInSystemJsModule(t)){var r=isES6ExportedDeclaration(t);if(!(1&t.flags)||r&&isFirstDeclarationOfKind(t,t.symbol&&t.symbol.declarations,224)){x(t);r&&g("export ");g("var ");emit(t.name);C(t);g(";")}}v();x(t);g("(function (");x(t.name);g(getGeneratedNameForNode(t));C(t.name);g(") {");b();emitLines(t.members);T();v();emitToken(16,t.members.end);g(")(");emitModuleMemberName(t);g(" || (");emitModuleMemberName(t);g(" = {}));");C(t);if(!isES6ExportedDeclaration(t)&&1&t.flags&&!shouldHoistDeclarationInSystemJsModule(t)){v();x(t);g("var ");emit(t.name);g(" = ");emitModuleMemberName(t);C(t);g(";")}if(p!==e.ModuleKind.ES6&&t.parent===E){if(p===e.ModuleKind.System&&1&t.flags){v();g(I+'("');emitDeclarationName(t);g('", ');emitDeclarationName(t);g(");")}emitExportMemberAssignments(t.name)}}}function emitEnumMember(e){var t=e.parent;x(e);g(getGeneratedNameForNode(t));g("[");g(getGeneratedNameForNode(t));g("[");emitExpressionForPropertyName(e.name);g("] = ");writeEnumMemberDeclarationValue(e);g("] = ");emitExpressionForPropertyName(e.name);C(e);g(";")}function writeEnumMemberDeclarationValue(e){var r=t.getConstantValue(e);void 0===r?e.initializer?emit(e.initializer):g("undefined"):g(r.toString())}function getInnerMostModuleDeclarationFromDottedModule(e){if(e.body&&225===e.body.kind){var t=getInnerMostModuleDeclarationFromDottedModule(e.body);return t||e.body}}function shouldEmitModuleDeclaration(t){return e.isInstantiatedModule(t,_.preserveConstEnums||_.isolatedModules)}function isModuleMergedWithES6Class(e){return 2===d&&!!(32768&t.getNodeCheckFlags(e))}function isFirstDeclarationOfKind(t,r,n){return!e.forEach(r,(function(e){return e.kind===n&&e.pos0){var l=a.substr(i,o-i+1);n=(n?n+"\" + ' ' + \"":"")+e.escapeString(l)}i=-1}else if(!e.isWhiteSpaceSingleLine(c)){o=s;-1===i&&(i=s)}}if(-1!==i){var l=a.substr(i);n=(n?n+"\" + ' ' + \"":"")+e.escapeString(l)}n&&(n=n.replace(/&(\w+);/g,(function(e,t){if(void 0!==r[t]){var n=String.fromCharCode(r[t]);return'"'===n?'\\"':n}return e})));return n}function isJsxChildEmittable(e){return 248===e.kind?!!e.expression:244!==e.kind||!!getTextToEmit(e)}function getTextToEmit(t){switch(_.jsx){case 2:var r=trimReactWhitespaceAndApplyEntities(t);return void 0===r||0===r.length?void 0:r;case 1:default:return e.getTextOfNode(t,true)}}function emitJsxText(t){switch(_.jsx){case 2:g('"');g(trimReactWhitespaceAndApplyEntities(t));g('"');break;case 1:default:a.writeLiteral(e.getTextOfNode(t,true));break}}function emitJsxExpression(e){if(e.expression)switch(_.jsx){case 1:default:g("{");emit(e.expression);g("}");break;case 2:emit(e.expression);break}}function isUseStrictPrologue(e){return"use strict"===e.expression.text}function ensureUseStrictPrologue(e,t){if(t){e&&v();g('"use strict";')}}function emitDirectivePrologues(t,r,n){var a=false;for(var i=0;i0,!a&&n);return i}isUseStrictPrologue(t[i])&&(a=true);(r||i>0)&&v();emit(t[i])}ensureUseStrictPrologue(r,!a&&n);return t.length}function writeLines(e){var t=e.split(/\r\n|\r|\n/g);for(var r=0;ra){a=c.prefix.length;n=s}}return n}e.findBestPatternMatch=findBestPatternMatch;function isPatternMatch(t,r){var n=t.prefix,a=t.suffix;return r.length>=n.length+a.length&&e.startsWith(r,n)&&e.endsWith(r,a)}function tryParsePattern(t){e.Debug.assert(hasZeroOrOneAsteriskCharacter(t));var r=t.indexOf("*");return-1===r?void 0:{prefix:t.substr(0,r),suffix:t.substr(r+1)}}e.tryParsePattern=tryParsePattern;function nodeModuleNameResolver(t,r,n,a){var i=e.getDirectoryPath(r);var o=e.getSupportedExtensions(n);var s=isTraceEnabled(n,a);var c=[];var l={compilerOptions:n,host:a,traceEnabled:s,skipTsx:false};var u=tryLoadModuleUsingOptionalResolutionSettings(t,i,nodeLoadModuleByRelativeName,c,o,l);var _=false;if(!u)if(moduleHasNonRelativeName(t)){s&&trace(a,e.Diagnostics.Loading_module_0_from_node_modules_folder,t);u=loadModuleFromNodeModules(t,i,c,l);_=void 0!==u}else{var d=e.normalizePath(e.combinePaths(i,t));u=nodeLoadModuleByRelativeName(d,o,c,false,l)}if(u&&a.realpath){var p=u;u=e.normalizePath(a.realpath(u));s&&trace(a,e.Diagnostics.Resolving_real_path_for_0_result_1,p,u)}return createResolvedModule(u,_,c)}e.nodeModuleNameResolver=nodeModuleNameResolver;function nodeLoadModuleByRelativeName(t,r,n,a,i){i.traceEnabled&&trace(i.host,e.Diagnostics.Loading_module_as_file_Slash_folder_candidate_module_location_0,t);var o=loadModuleFromFile(t,r,n,a,i);return o||loadNodeModuleFromDirectory(r,t,n,a,i)}function directoryProbablyExists(e,t){return!t.directoryExists||t.directoryExists(e)}e.directoryProbablyExists=directoryProbablyExists;function loadModuleFromFile(t,r,n,a,i){var o=loadModuleFromFileWorker(t,r,n,a,i);if(o)return o;if(e.hasJavaScriptFileExtension(t)){var s=e.removeFileExtension(t);if(i.traceEnabled){var c=t.substring(s.length);trace(i.host,e.Diagnostics.File_name_0_has_a_1_extension_stripping_it,t,c)}return loadModuleFromFileWorker(s,r,n,a,i)}}function loadModuleFromFileWorker(t,r,n,a,i){if(!a){var o=e.getDirectoryPath(t);o&&(a=!directoryProbablyExists(o,i.host))}return e.forEach(r,tryLoad);function tryLoad(r){if(!i.skipTsx||!e.isJsxOrTsxExtension(r)){var o=e.fileExtensionIs(t,r)?t:t+r;if(!a&&i.host.fileExists(o)){i.traceEnabled&&trace(i.host,e.Diagnostics.File_0_exist_use_it_as_a_name_resolution_result,o);return o}i.traceEnabled&&trace(i.host,e.Diagnostics.File_0_does_not_exist,o);n.push(o)}}}function loadNodeModuleFromDirectory(t,r,n,a,i){var o=e.combinePaths(r,"package.json");var s=!a&&directoryProbablyExists(r,i.host);if(s&&i.host.fileExists(o)){i.traceEnabled&&trace(i.host,e.Diagnostics.Found_package_json_at_0,o);var c=tryReadTypesSection(o,r,i);if(c){var l=loadModuleFromFile(c,t,n,!directoryProbablyExists(e.getDirectoryPath(c),i.host),i);if(l)return l}else i.traceEnabled&&trace(i.host,e.Diagnostics.package_json_does_not_have_types_field)}else{i.traceEnabled&&trace(i.host,e.Diagnostics.File_0_does_not_exist,o);n.push(o)}return loadModuleFromFile(e.combinePaths(r,"index"),t,n,!s,i)}function loadModuleFromNodeModulesFolder(t,r,n,a){var i=e.combinePaths(r,"node_modules");var o=directoryProbablyExists(i,a.host);var s=e.normalizePath(e.combinePaths(i,t));var c=e.getSupportedExtensions(a.compilerOptions);var l=loadModuleFromFile(s,c,n,!o,a);if(l)return l;l=loadNodeModuleFromDirectory(c,s,n,!o,a);return l||void 0}function loadModuleFromNodeModules(t,r,n,a){r=e.normalizeSlashes(r);while(true){var i=e.getBaseFileName(r);if("node_modules"!==i){var o=loadModuleFromNodeModulesFolder(t,r,n,a);if(o&&e.hasTypeScriptFileExtension(o))return o;var s=loadModuleFromNodeModulesFolder(e.combinePaths("@types",t),r,n,a);if(s||o)return s||o}var c=e.getDirectoryPath(r);if(c===r)break;r=c}}function classicNameResolver(t,r,n,a){var i=isTraceEnabled(n,a);var o={compilerOptions:n,host:a,traceEnabled:i,skipTsx:!n.jsx};var s=[];var c=e.getSupportedExtensions(n);var l=e.getDirectoryPath(r);var u=tryLoadModuleUsingOptionalResolutionSettings(t,l,loadModuleFromFile,s,c,o);if(u)return createResolvedModule(u,false,s);var _;if(moduleHasNonRelativeName(t))while(true){var d=e.normalizePath(e.combinePaths(l,t));_=loadModuleFromFile(d,c,s,false,o);if(_)break;var p=e.getDirectoryPath(l);if(p===l)break;l=p}else{var m=e.normalizePath(e.combinePaths(l,t));_=loadModuleFromFile(m,c,s,false,o)}return _?{resolvedModule:{resolvedFileName:_},failedLookupLocations:s}:{resolvedModule:void 0,failedLookupLocations:s}}e.classicNameResolver=classicNameResolver;e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:1,noImplicitAny:false,sourceMap:false};function createCompilerHost(t,r){var n={};function getCanonicalFileName(t){return e.sys.useCaseSensitiveFileNames?t:t.toLowerCase()}var a=-2147024809;function getSourceFile(n,i,o){var s;try{var c=(new Date).getTime();s=e.sys.readFile(n,t.charset);e.ioReadTime+=(new Date).getTime()-c}catch(t){o&&o(t.number===a?e.createCompilerDiagnostic(e.Diagnostics.Unsupported_file_encoding).messageText:t.message);s=""}return void 0!==s?e.createSourceFile(n,s,i,r):void 0}function directoryExists(t){if(e.hasProperty(n,t))return true;if(e.sys.directoryExists(t)){n[t]=true;return true}return false}function ensureDirectoriesExist(t){if(t.length>e.getRootLength(t)&&!directoryExists(t)){var r=e.getDirectoryPath(t);ensureDirectoriesExist(r);e.sys.createDirectory(t)}}var i;function writeFileIfUpdated(t,r,n){i||(i={});var a=e.sys.createHash(r);var o=e.sys.getModifiedTime(t);if(o&&e.hasProperty(i,t)){var s=i[t];if(s.byteOrderMark===n&&s.hash===a&&s.mtime.getTime()===o.getTime())return}e.sys.writeFile(t,r,n);var c=e.sys.getModifiedTime(t);i[t]={hash:a,byteOrderMark:n,mtime:c}}function writeFile(r,n,a,i){try{var o=(new Date).getTime();ensureDirectoriesExist(e.getDirectoryPath(e.normalizePath(r)));e.isWatchSet(t)&&e.sys.createHash&&e.sys.getModifiedTime?writeFileIfUpdated(r,n,a):e.sys.writeFile(r,n,a);e.ioWriteTime+=(new Date).getTime()-o}catch(e){i&&i(e.message)}}function getDefaultLibLocation(){return e.getDirectoryPath(e.normalizePath(e.sys.getExecutingFilePath()))}var o=e.getNewLineCharacter(t);var s=e.sys.realpath&&function(t){return e.sys.realpath(t)};return{getSourceFile:getSourceFile,getDefaultLibLocation:getDefaultLibLocation,getDefaultLibFileName:function(t){return e.combinePaths(getDefaultLibLocation(),e.getDefaultLibFileName(t))},writeFile:writeFile,getCurrentDirectory:e.memoize((function(){return e.sys.getCurrentDirectory()})),useCaseSensitiveFileNames:function(){return e.sys.useCaseSensitiveFileNames},getCanonicalFileName:getCanonicalFileName,getNewLine:function(){return o},fileExists:function(t){return e.sys.fileExists(t)},readFile:function(t){return e.sys.readFile(t)},trace:function(t){return e.sys.write(t+o)},directoryExists:function(t){return e.sys.directoryExists(t)},getDirectories:function(t){return e.sys.getDirectories(t)},realpath:s}}e.createCompilerHost=createCompilerHost;function getPreEmitDiagnostics(t,r,n){var a=t.getOptionsDiagnostics(n).concat(t.getSyntacticDiagnostics(r,n),t.getGlobalDiagnostics(n),t.getSemanticDiagnostics(r,n));t.getCompilerOptions().declaration&&(a=a.concat(t.getDeclarationDiagnostics(r,n)));return e.sortAndDeduplicateDiagnostics(a)}e.getPreEmitDiagnostics=getPreEmitDiagnostics;function flattenDiagnosticMessageText(e,t){if("string"===typeof e)return e;var r=e;var n="";var a=0;while(r){if(a){n+=t;for(var i=0;i0||o.length>0)return{diagnostics:e.concatenate(s,o),sourceMaps:void 0,emittedFiles:void 0,emitSkipped:true}}var c=getDiagnosticsProducingTypeChecker().getEmitResolver(n.outFile||n.out?void 0:r);var l=(new Date).getTime();var u=e.emitFiles(c,getEmitHost(a),r);e.emitTime+=(new Date).getTime()-l;return u}function getSourceFile(t){return getSourceFileByPath(e.toPath(t,k,getCanonicalFileName))}function getSourceFileByPath(e){return E.get(e)}function getDiagnosticsHelper(t,r,n){if(t)return r(t,n);var a=[];e.forEach(s.getSourceFiles(),(function(t){n&&n.throwIfCancellationRequested();e.addRange(a,r(t,n))}));return e.sortAndDeduplicateDiagnostics(a)}function getSyntacticDiagnostics(e,t){return getDiagnosticsHelper(e,getSyntacticDiagnosticsForFile,t)}function getSemanticDiagnostics(e,t){return getDiagnosticsHelper(e,getSemanticDiagnosticsForFile,t)}function getDeclarationDiagnostics(e,t){var r=s.getCompilerOptions();return!e||r.out||r.outFile?getDeclarationDiagnosticsWorker(e,t):getDiagnosticsHelper(e,getDeclarationDiagnosticsForFile,t)}function getSyntacticDiagnosticsForFile(e,t){return e.parseDiagnostics}function runWithCancellationToken(t){try{return t()}catch(t){if(t instanceof e.OperationCanceledException){_=void 0;u=void 0}throw t}}function getSemanticDiagnosticsForFile(t,r){return runWithCancellationToken((function(){var n=getDiagnosticsProducingTypeChecker();e.Debug.assert(!!t.bindDiagnostics);var a=t.bindDiagnostics;var i=e.isSourceFileJavaScript(t)?getJavaScriptSemanticDiagnosticsForFile(t,r):n.getDiagnostics(t,r);var o=m.getDiagnostics(t.fileName);var s=T.getDiagnostics(t.fileName);return a.concat(i).concat(o).concat(s)}))}function getJavaScriptSemanticDiagnosticsForFile(t,r){return runWithCancellationToken((function(){var r=[];walk(t);return r;function walk(a){if(!a)return false;switch(a.kind){case 229:r.push(e.createDiagnosticForNode(a,e.Diagnostics.import_can_only_be_used_in_a_ts_file));return true;case 235:if(a.isExportEquals){r.push(e.createDiagnosticForNode(a,e.Diagnostics.export_can_only_be_used_in_a_ts_file));return true}break;case 221:var i=a;if(checkModifiers(i.modifiers)||checkTypeParameters(i.typeParameters))return true;break;case 251:var o=a;if(106===o.token){r.push(e.createDiagnosticForNode(a,e.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file));return true}break;case 222:r.push(e.createDiagnosticForNode(a,e.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file));return true;case 225:r.push(e.createDiagnosticForNode(a,e.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file));return true;case 223:r.push(e.createDiagnosticForNode(a,e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file));return true;case 147:case 146:case 148:case 149:case 150:case 179:case 220:case 180:case 220:var s=a;if(checkModifiers(s.modifiers)||checkTypeParameters(s.typeParameters)||checkTypeAnnotation(s.type))return true;break;case 200:var c=a;if(checkModifiers(c.modifiers))return true;break;case 218:var l=a;if(checkTypeAnnotation(l.type))return true;break;case 174:case 175:var u=a;if(u.typeArguments&&u.typeArguments.length>0){var _=u.typeArguments.pos;r.push(e.createFileDiagnostic(t,_,u.typeArguments.end-_,e.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file));return true}break;case 142:var d=a;if(d.modifiers){var p=d.modifiers.pos;r.push(e.createFileDiagnostic(t,p,d.modifiers.end-p,e.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file));return true}if(d.questionToken){r.push(e.createDiagnosticForNode(d.questionToken,e.Diagnostics._0_can_only_be_used_in_a_ts_file,"?"));return true}if(d.type){r.push(e.createDiagnosticForNode(d.type,e.Diagnostics.types_can_only_be_used_in_a_ts_file));return true}break;case 145:var m=a;if(m.modifiers)for(var g=0,f=m.modifiers;g=0}function processRootFile(t,r){processSourceFile(e.normalizePath(t),r,true)}function fileReferenceIsEqualTo(e,t){return e.fileName===t.fileName}function moduleNameIsEqualTo(e,t){return e.text===t.text}function getTextOfLiteral(e){return e.text}function collectExternalModuleReferences(r){if(r.imports);else{var n=e.isSourceFileJavaScript(r);var a=e.isExternalModule(r);var i;var o;for(var s=0,c=r.statements;sg;var d=s&&!n.noResolve&&o1}))&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files))}!n.noEmit&&n.allowJs&&n.declaration&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs","declaration"));n.emitDecoratorMetadata&&!n.experimentalDecorators&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators"));n.reactNamespace&&!e.isIdentifier(n.reactNamespace,l)&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,n.reactNamespace));if(!n.noEmit&&!n.suppressOutputPathCheck){var g=getEmitHost();var f=e.createFileMap(a.useCaseSensitiveFileNames()?void 0:function(e){return e.toLocaleLowerCase()});e.forEachExpectedEmitFile(g,(function(e,t,r){verifyEmitFilePath(e.jsFilePath,f);verifyEmitFilePath(e.declarationFilePath,f)}))}function verifyEmitFilePath(t,r){if(t){var n=e.toPath(t,k,getCanonicalFileName);E.contains(n)&&createEmitBlockingDiagnostics(t,n,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file);r.contains(n)?createEmitBlockingDiagnostics(t,n,e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files):r.set(n,true)}}}function createEmitBlockingDiagnostics(t,r,n){x.set(e.toPath(t,k,getCanonicalFileName),true);T.add(e.createCompilerDiagnostic(n,t))}}e.createProgram=createProgram})(l||(l={}));var l;(function(e){e.optionDeclarations=[{name:"charset",type:"string"},{name:"declaration",shortName:"d",type:"boolean",description:e.Diagnostics.Generates_corresponding_d_ts_file},{name:"declarationDir",type:"string",isFilePath:true,paramType:e.Diagnostics.DIRECTORY},{name:"diagnostics",type:"boolean"},{name:"emitBOM",type:"boolean"},{name:"help",shortName:"h",type:"boolean",description:e.Diagnostics.Print_this_message},{name:"help",shortName:"?",type:"boolean"},{name:"init",type:"boolean",description:e.Diagnostics.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file},{name:"inlineSourceMap",type:"boolean"},{name:"inlineSources",type:"boolean"},{name:"jsx",type:{preserve:1,react:2},paramType:e.Diagnostics.KIND,description:e.Diagnostics.Specify_JSX_code_generation_Colon_preserve_or_react},{name:"reactNamespace",type:"string",description:e.Diagnostics.Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit},{name:"listFiles",type:"boolean"},{name:"locale",type:"string"},{name:"mapRoot",type:"string",isFilePath:true,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations,paramType:e.Diagnostics.LOCATION},{name:"module",shortName:"m",type:{none:e.ModuleKind.None,commonjs:e.ModuleKind.CommonJS,amd:e.ModuleKind.AMD,system:e.ModuleKind.System,umd:e.ModuleKind.UMD,es6:e.ModuleKind.ES6,es2015:e.ModuleKind.ES2015},description:e.Diagnostics.Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015,paramType:e.Diagnostics.KIND},{name:"newLine",type:{crlf:0,lf:1},description:e.Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix,paramType:e.Diagnostics.NEWLINE},{name:"noEmit",type:"boolean",description:e.Diagnostics.Do_not_emit_outputs},{name:"noEmitHelpers",type:"boolean"},{name:"noEmitOnError",type:"boolean",description:e.Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported},{name:"noImplicitAny",type:"boolean",description:e.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type},{name:"noImplicitThis",type:"boolean",description:e.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type},{name:"noUnusedLocals",type:"boolean",description:e.Diagnostics.Report_Errors_on_Unused_Locals},{name:"noUnusedParameters",type:"boolean",description:e.Diagnostics.Report_Errors_on_Unused_Parameters},{name:"noLib",type:"boolean"},{name:"noResolve",type:"boolean"},{name:"skipDefaultLibCheck",type:"boolean"},{name:"skipLibCheck",type:"boolean",description:e.Diagnostics.Skip_type_checking_of_declaration_files},{name:"out",type:"string",isFilePath:false,paramType:e.Diagnostics.FILE},{name:"outFile",type:"string",isFilePath:true,description:e.Diagnostics.Concatenate_and_emit_output_to_single_file,paramType:e.Diagnostics.FILE},{name:"outDir",type:"string",isFilePath:true,description:e.Diagnostics.Redirect_output_structure_to_the_directory,paramType:e.Diagnostics.DIRECTORY},{name:"preserveConstEnums",type:"boolean",description:e.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code},{name:"pretty",description:e.Diagnostics.Stylize_errors_and_messages_using_color_and_context_experimental,type:"boolean"},{name:"project",shortName:"p",type:"string",isFilePath:true,description:e.Diagnostics.Compile_the_project_in_the_given_directory,paramType:e.Diagnostics.DIRECTORY},{name:"removeComments",type:"boolean",description:e.Diagnostics.Do_not_emit_comments_to_output},{name:"rootDir",type:"string",isFilePath:true,paramType:e.Diagnostics.LOCATION,description:e.Diagnostics.Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir},{name:"isolatedModules",type:"boolean"},{name:"sourceMap",type:"boolean",description:e.Diagnostics.Generates_corresponding_map_file},{name:"sourceRoot",type:"string",isFilePath:true,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,paramType:e.Diagnostics.LOCATION},{name:"suppressExcessPropertyErrors",type:"boolean",description:e.Diagnostics.Suppress_excess_property_checks_for_object_literals,experimental:true},{name:"suppressImplicitAnyIndexErrors",type:"boolean",description:e.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures},{name:"stripInternal",type:"boolean",description:e.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation,experimental:true},{name:"target",shortName:"t",type:{es3:0,es5:1,es6:2,es2015:2},description:e.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015,paramType:e.Diagnostics.VERSION},{name:"version",shortName:"v",type:"boolean",description:e.Diagnostics.Print_the_compiler_s_version},{name:"watch",shortName:"w",type:"boolean",description:e.Diagnostics.Watch_input_files},{name:"experimentalDecorators",type:"boolean",description:e.Diagnostics.Enables_experimental_support_for_ES7_decorators},{name:"emitDecoratorMetadata",type:"boolean",experimental:true,description:e.Diagnostics.Enables_experimental_support_for_emitting_type_metadata_for_decorators},{name:"moduleResolution",type:{node:e.ModuleResolutionKind.NodeJs,classic:e.ModuleResolutionKind.Classic},description:e.Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6},{name:"allowUnusedLabels",type:"boolean",description:e.Diagnostics.Do_not_report_errors_on_unused_labels},{name:"noImplicitReturns",type:"boolean",description:e.Diagnostics.Report_error_when_not_all_code_paths_in_function_return_a_value},{name:"noFallthroughCasesInSwitch",type:"boolean",description:e.Diagnostics.Report_errors_for_fallthrough_cases_in_switch_statement},{name:"allowUnreachableCode",type:"boolean",description:e.Diagnostics.Do_not_report_errors_on_unreachable_code},{name:"forceConsistentCasingInFileNames",type:"boolean",description:e.Diagnostics.Disallow_inconsistently_cased_references_to_the_same_file},{name:"baseUrl",type:"string",isFilePath:true,description:e.Diagnostics.Base_directory_to_resolve_non_absolute_module_names},{name:"paths",type:"object",isTSConfigOnly:true},{name:"rootDirs",type:"list",isTSConfigOnly:true,element:{name:"rootDirs",type:"string",isFilePath:true}},{name:"typeRoots",type:"list",element:{name:"typeRoots",type:"string",isFilePath:true}},{name:"types",type:"list",element:{name:"types",type:"string"},description:e.Diagnostics.Type_declaration_files_to_be_included_in_compilation},{name:"traceResolution",type:"boolean",description:e.Diagnostics.Enable_tracing_of_the_name_resolution_process},{name:"allowJs",type:"boolean",description:e.Diagnostics.Allow_javascript_files_to_be_compiled},{name:"allowSyntheticDefaultImports",type:"boolean",description:e.Diagnostics.Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking},{name:"noImplicitUseStrict",type:"boolean",description:e.Diagnostics.Do_not_emit_use_strict_directives_in_module_output},{name:"maxNodeModuleJsDepth",type:"number",description:e.Diagnostics.The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files},{name:"listEmittedFiles",type:"boolean"},{name:"lib",type:"list",element:{name:"lib",type:{es5:"lib.es5.d.ts",es6:"lib.es2015.d.ts",es2015:"lib.es2015.d.ts",es7:"lib.es2016.d.ts",es2016:"lib.es2016.d.ts",es2017:"lib.es2017.d.ts",dom:"lib.dom.d.ts",webworker:"lib.webworker.d.ts",scripthost:"lib.scripthost.d.ts","es2015.core":"lib.es2015.core.d.ts","es2015.collection":"lib.es2015.collection.d.ts","es2015.generator":"lib.es2015.generator.d.ts","es2015.iterable":"lib.es2015.iterable.d.ts","es2015.promise":"lib.es2015.promise.d.ts","es2015.proxy":"lib.es2015.proxy.d.ts","es2015.reflect":"lib.es2015.reflect.d.ts","es2015.symbol":"lib.es2015.symbol.d.ts","es2015.symbol.wellknown":"lib.es2015.symbol.wellknown.d.ts","es2016.array.include":"lib.es2016.array.include.d.ts","es2017.object":"lib.es2017.object.d.ts","es2017.sharedmemory":"lib.es2017.sharedmemory.d.ts"}},description:e.Diagnostics.Specify_library_files_to_be_included_in_the_compilation_Colon},{name:"disableSizeLimit",type:"boolean"},{name:"strictNullChecks",type:"boolean",description:e.Diagnostics.Enable_strict_null_checks}];e.typingOptionDeclarations=[{name:"enableAutoDiscovery",type:"boolean"},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}}];var t;function getOptionNameMap(){if(t)return t;var r={};var n={};e.forEach(e.optionDeclarations,(function(e){r[e.name.toLowerCase()]=e;e.shortName&&(n[e.shortName]=e.name)}));t={optionNameMap:r,shortOptionNames:n};return t}e.getOptionNameMap=getOptionNameMap;function createCompilerDiagnosticForInvalidCustomType(t){var r=[];e.forEachKey(t.type,(function(e){r.push(" '"+e+"'")}));return e.createCompilerDiagnostic(e.Diagnostics.Argument_for_0_option_must_be_Colon_1,"--"+t.name,r)}e.createCompilerDiagnosticForInvalidCustomType=createCompilerDiagnosticForInvalidCustomType;function parseCustomTypeOption(t,r,n){var a=trimString(r||"").toLowerCase();var i=t.type;if(e.hasProperty(i,a))return i[a];n.push(createCompilerDiagnosticForInvalidCustomType(t))}e.parseCustomTypeOption=parseCustomTypeOption;function parseListTypeOption(t,r,n){void 0===r&&(r="");r=trimString(r);if(!e.startsWith(r,"-")){if(""===r)return[];var a=r.split(",");switch(t.element.type){case"number":return e.map(a,parseInt);case"string":return e.map(a,(function(e){return e||""}));default:return e.filter(e.map(a,(function(e){return parseCustomTypeOption(t.element,e,n)})),(function(e){return!!e}))}}}e.parseListTypeOption=parseListTypeOption;function parseCommandLine(t,r){var n={};var a=[];var i=[];var o=getOptionNameMap(),s=o.optionNameMap,c=o.shortOptionNames;parseStrings(t);return{options:n,fileNames:a,errors:i};function parseStrings(t){var r=0;while(r=n.length)break;var s=o;if(34===n.charCodeAt(s)){o++;while(o32)o++;a.push(n.substring(s,o))}}parseStrings(a)}else i.push(e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,t))}}e.parseCommandLine=parseCommandLine;function readConfigFile(t,r){var n="";try{n=r(t)}catch(r){return{error:e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,r.message)}}return parseConfigFileTextToJson(t,n)}e.readConfigFile=readConfigFile;function parseConfigFileTextToJson(t,r){try{var n=removeComments(r);return{config:/\S/.test(n)?JSON.parse(n):{}}}catch(r){return{error:e.createCompilerDiagnostic(e.Diagnostics.Failed_to_parse_file_0_Colon_1,t,r.message)}}}e.parseConfigFileTextToJson=parseConfigFileTextToJson;function removeComments(t){var r="";var n=e.createScanner(1,false,0,t);var a;while(1!==(a=n.scan()))switch(a){case 2:case 3:r+=n.getTokenText().replace(/\S/g," ");break;default:r+=n.getTokenText();break}return r}var r=/(\.min\.js$)|([\\/]\.[\w.])/;function parseJsonConfigFileContent(t,r,n,a,i){void 0===a&&(a={});var o=[];var s=convertCompilerOptionsFromJsonWorker(t["compilerOptions"],n,o,i);var c=e.extend(a,s);var l=convertTypingOptionsFromJsonWorker(t["typingOptions"],n,o,i);c.configFilePath=i;var u=getFileNames(o),_=u.fileNames,d=u.wildcardDirectories;return{options:c,fileNames:_,typingOptions:l,raw:t,errors:o,wildcardDirectories:d};function getFileNames(a){var i;e.hasProperty(t,"files")&&(e.isArray(t["files"])?i=t["files"]:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"files","Array")));var o;e.hasProperty(t,"include")&&(e.isArray(t["include"])?o=t["include"]:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"include","Array")));var s;e.hasProperty(t,"exclude")?e.isArray(t["exclude"])?s=t["exclude"]:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"exclude","Array")):e.hasProperty(t,"excludes")?a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude)):s=["node_modules","bower_components","jspm_packages"];var l=t["compilerOptions"]&&t["compilerOptions"]["outDir"];l&&s.push(l);void 0===i&&void 0===o&&(o=["**/*"]);return matchFileNames(i,o,s,n,c,r,a)}}e.parseJsonConfigFileContent=parseJsonConfigFileContent;function convertCompilerOptionsFromJson(e,t,r){var n=[];var a=convertCompilerOptionsFromJsonWorker(e,t,n,r);return{options:a,errors:n}}e.convertCompilerOptionsFromJson=convertCompilerOptionsFromJson;function convertTypingOptionsFromJson(e,t,r){var n=[];var a=convertTypingOptionsFromJsonWorker(e,t,n,r);return{options:a,errors:n}}e.convertTypingOptionsFromJson=convertTypingOptionsFromJson;function convertCompilerOptionsFromJsonWorker(t,r,n,a){var i="jsconfig.json"===e.getBaseFileName(a)?{allowJs:true}:{};convertOptionsFromJson(e.optionDeclarations,t,r,i,e.Diagnostics.Unknown_compiler_option_0,n);return i}function convertTypingOptionsFromJsonWorker(t,r,n,a){var i="jsconfig.json"===e.getBaseFileName(a)?{enableAutoDiscovery:true,include:[],exclude:[]}:{enableAutoDiscovery:false,include:[],exclude:[]};convertOptionsFromJson(e.typingOptionDeclarations,t,r,i,e.Diagnostics.Unknown_typing_option_0,n);return i}function convertOptionsFromJson(t,r,n,a,i,o){if(r){var s=e.arrayToMap(t,(function(e){return e.name}));for(var c in r)if(e.hasProperty(s,c)){var l=s[c];a[l.name]=convertJsonOption(l,r[c],n,o)}else o.push(e.createCompilerDiagnostic(i,c))}}function convertJsonOption(t,r,n,a){var i=t.type;var o="string"===typeof i?i:"string";if("list"===i&&e.isArray(r))return convertJsonOptionOfListType(t,r,n,a);if(typeof r===o){if("string"!==typeof i)return convertJsonOptionOfCustomType(t,r,a);if(t.isFilePath){r=e.normalizePath(e.combinePaths(n,r));""===r&&(r=".")}return r}a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,o))}function convertJsonOptionOfCustomType(t,r,n){var a=r.toLowerCase();if(e.hasProperty(t.type,a))return t.type[a];n.push(createCompilerDiagnosticForInvalidCustomType(t))}function convertJsonOptionOfListType(t,r,n,a){return e.filter(e.map(r,(function(e){return convertJsonOption(t.element,e,n,a)})),(function(e){return!!e}))}function trimString(e){return"function"===typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}var n=/(^|\/)\*\*\/?$/;var a=/(^|\/)\*\*\/(.*\/)?\*\*($|\/)/;var i=/(^|\/)\*\*\/(.*\/)?\.\.($|\/)/;var o=/\/[^/]*?[*?][^/]*\//;var s=/^[^*?]*(?=\/[^/]*[*?])/;function matchFileNames(t,n,a,i,o,s,c){i=e.normalizePath(i);var l=s.useCaseSensitiveFileNames?caseSensitiveKeyMapper:caseInsensitiveKeyMapper;var u={};var _={};n&&(n=validateSpecs(n,c,false));a&&(a=validateSpecs(a,c,true));var d=getWildcardDirectories(n,a,i,s.useCaseSensitiveFileNames);var p=e.getSupportedExtensions(o);if(t)for(var m=0,g=t;m0)for(var h=0,v=s.readDirectory(i,p,a,n);h1){var n={pos:t,end:r,kind:2};addOutliningSpanComments(n,false)}}function autoCollapse(t){return e.isFunctionBlock(t)&&180!==t.parent.kind}var a=0;var i=20;function walk(o){if(!(a>i)){e.isDeclaration(o)&&addOutliningForLeadingCommentsForNode(o);switch(o.kind){case 199:if(!e.isFunctionBlock(o)){var s=o.parent;var c=e.findChildOfKind(o,15,t);var l=e.findChildOfKind(o,16,t);if(204===s.kind||207===s.kind||208===s.kind||206===s.kind||203===s.kind||205===s.kind||212===s.kind||252===s.kind){addOutliningSpan(s,c,l,autoCollapse(o));break}if(216===s.kind){var u=s;if(u.tryBlock===o){addOutliningSpan(s,c,l,autoCollapse(o));break}if(u.finallyBlock===o){var _=e.findChildOfKind(u,85,t);if(_){addOutliningSpan(_,c,l,autoCollapse(o));break}}}var d=e.createTextSpanFromBounds(o.getStart(),o.end);r.push({textSpan:d,hintSpan:d,bannerText:n,autoCollapse:autoCollapse(o)});break}case 226:var c=e.findChildOfKind(o,15,t);var l=e.findChildOfKind(o,16,t);addOutliningSpan(o.parent,c,l,autoCollapse(o));break;case 221:case 222:case 224:case 171:case 227:var c=e.findChildOfKind(o,15,t);var l=e.findChildOfKind(o,16,t);addOutliningSpan(o,c,l,autoCollapse(o));break;case 170:var p=e.findChildOfKind(o,19,t);var m=e.findChildOfKind(o,20,t);addOutliningSpan(o,p,m,autoCollapse(o));break}a++;e.forEachChild(o,walk);a--}}walk(t);return r}t.collectElements=collectElements})(t=e.OutliningElementsCollector||(e.OutliningElementsCollector={}))})(l||(l={}));var l;(function(e){var t;(function(t){function getNavigateToItems(t,r,n,a,i){var o=e.createPatternMatcher(a);var s=[];var c={sensitivity:"base"};e.forEach(t.getSourceFiles(),(function(t){n.throwIfCancellationRequested();var r=t.getNamedDeclarations();for(var a in r){var i=e.getProperty(r,a);if(i){var c=o.getMatchesForLastSegmentOfPattern(a);if(!c)continue;for(var l=0,u=i;l0);for(var r=0,n=t;r0);var r=e.PatternMatchKind.camelCase;for(var n=0,a=t;n0)return n}switch(t.kind){case 256:var a=t;return e.isExternalModule(a)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(a.fileName))))+'"':"";case 180:case 220:case 179:case 221:case 192:return 512&t.flags?"default":getFunctionOrClassName(t);case 148:return"constructor";case 152:return"new()";case 151:return"()";case 153:return"[]";case 279:return getJSDocTypedefTagName(t);default:return""}}function getJSDocTypedefTagName(e){if(e.name)return e.name.text;var t=e.parent&&e.parent.parent;if(t&&200===t.kind&&t.declarationList.declarations.length>0){var r=t.declarationList.declarations[0].name;if(69===r.kind)return r.text}return""}function topLevelItems(t){var r=[];function recur(e){if(isTopLevel(e)){r.push(e);if(e.children)for(var t=0,n=e.children;t0?e.declarationNameToString(t.name):218===t.parent.kind?e.declarationNameToString(t.parent.name):187===t.parent.kind&&56===t.parent.operatorToken.kind?nodeText(t.parent.left):253===t.parent.kind&&t.parent.name?nodeText(t.parent.name):512&t.flags?"default":e.isClassLike(t)?"":""}function isFunctionOrClassExpression(e){return 179===e.kind||180===e.kind||192===e.kind}})(t=e.NavigationBar||(e.NavigationBar={}))})(l||(l={}));var l;(function(e){(function(e){e[e["exact"]=0]="exact";e[e["prefix"]=1]="prefix";e[e["substring"]=2]="substring";e[e["camelCase"]=3]="camelCase"})(e.PatternMatchKind||(e.PatternMatchKind={}));var t=e.PatternMatchKind;function createPatternMatch(e,t,r,n){return{kind:e,punctuationStripped:t,isCaseSensitive:r,camelCaseWeight:n}}function createPatternMatcher(r){var n={};r=r.trim();var a=r.split(".").map((function(e){return createSegment(e.trim())}));var i=0===a.length||e.forEach(a,segmentIsInvalid);return{getMatches:getMatches,getMatchesForLastSegmentOfPattern:getMatchesForLastSegmentOfPattern,patternContainsDots:a.length>1};function skipMatch(e){return i||!e}function getMatchesForLastSegmentOfPattern(t){if(!skipMatch(t))return matchSegment(t,e.lastOrUndefined(a))}function getMatches(t,r){if(!skipMatch(r)){var n=matchSegment(r,e.lastOrUndefined(a));if(n){t=t||[];if(!(a.length-1>t.length)){var i=n;for(var o=a.length-2,s=t.length-1;o>=0;o-=1,s-=1){var c=a[o];var l=t[s];var u=matchSegment(l,c);if(!u)return;e.addRange(i,u)}return i}}}}function getWordSpans(t){e.hasProperty(n,t)||(n[t]=breakIntoWordSpans(t));return n[t]}function matchTextChunk(e,r,n){var a=indexOfIgnoringCase(e,r.textLowerCase);if(0===a)return r.text.length===e.length?createPatternMatch(t.exact,n,e===r.text):createPatternMatch(t.prefix,n,startsWith(e,r.text));var i=r.isLowerCase;if(i){if(a>0){var o=getWordSpans(e);for(var s=0,c=o;s0)return createPatternMatch(t.substring,n,true);if(!i&&r.characterSpans.length>0){var u=getWordSpans(e);var _=tryCamelCaseMatch(e,u,r,false);if(void 0!==_)return createPatternMatch(t.camelCase,n,true,_);_=tryCamelCaseMatch(e,u,r,true);if(void 0!==_)return createPatternMatch(t.camelCase,n,false,_)}return i&&r.text.length0&&isUpperCaseLetter(e.charCodeAt(a))?createPatternMatch(t.substring,n,false):void 0}function containsSpaceOrAsterisk(e){for(var t=0;tt.length)return false;if(n)for(var s=0;s=65&&t<=90)return true;if(t<127||!e.isUnicodeIdentifierStart(t,2))return false;var r=String.fromCharCode(t);return r===r.toUpperCase()}function isLowerCaseLetter(t){if(t>=97&&t<=122)return true;if(t<127||!e.isUnicodeIdentifierStart(t,2))return false;var r=String.fromCharCode(t);return r===r.toLowerCase()}function startsWith(e,t){for(var r=0,n=t.length;r=65&&e<=90?97+(e-65):e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function isDigit(e){return e>=48&&e<=57}function isWordChar(e){return isUpperCaseLetter(e)||isLowerCaseLetter(e)||isDigit(e)||95===e||36===e}function breakPatternIntoTextChunks(e){var t=[];var r=0;var n=0;for(var a=0;a0){t.push(createTextChunk(e.substr(r,n)));n=0}}n>0&&t.push(createTextChunk(e.substr(r,n)));return t}function createTextChunk(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:breakIntoCharacterSpans(e)}}function breakIntoCharacterSpans(e){return breakIntoSpans(e,false)}e.breakIntoCharacterSpans=breakIntoCharacterSpans;function breakIntoWordSpans(e){return breakIntoSpans(e,true)}e.breakIntoWordSpans=breakIntoWordSpans;function breakIntoSpans(t,r){var n=[];var a=0;for(var i=1,o=t.length;i0&&24===e.lastOrUndefined(r).kind&&n++;return n}function getArgumentIndexForTemplatePiece(t,r,n){e.Debug.assert(n>=r.getStart(),"Assumed 'position' could not occur before node.");return e.isTemplateLiteralKind(r.kind)?e.isInsideTemplateLiteral(r,n)?0:t+2:t+1}function getArgumentListInfoForTemplate(t,r,n){var a=11===t.template.kind?1:t.template.templateSpans.length+1;e.Debug.assert(0===r||ra.parent.end)&&e.Debug.fail("Node of kind "+a.kind+" is not a subspan of its parent of kind "+a.parent.kind);var i=getImmediatelyContainingArgumentInfo(a,r,n);if(i)return i}}t.getContainingArgumentInfo=getContainingArgumentInfo;function getChildListThatStartsWithOpenerToken(t,r,n){var a=t.getChildren(n);var i=a.indexOf(r);e.Debug.assert(i>=0&&a.length>i+1);return a[i+1]}function selectBestInvalidOverloadIndex(e,t){var r=-1;var n=-1;for(var a=0;a=t)return a;if(i.parameters.length>n){n=i.parameters.length;r=a}}return r}function createSignatureHelpItems(t,n,a,i){var o=a.argumentsSpan;var s=0===a.kind;var c=a.invocation;var l=e.getInvokedExpression(c);var u=i.getSymbolAtLocation(l);var _=u&&e.symbolToDisplayParts(i,u,void 0,void 0);var d=e.map(t,(function(t){var n;var a=[];var o=[];_&&e.addRange(a,_);if(s){a.push(e.punctuationPart(25));var l=t.typeParameters;n=l&&l.length>0?e.map(l,createSignatureHelpParameterForTypeParameter):r;o.push(e.punctuationPart(27));var u=e.mapToDisplayParts((function(e){return i.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(t.thisParameter,t.parameters,e,c)}));e.addRange(o,u)}else{var d=e.mapToDisplayParts((function(e){return i.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(t.typeParameters,e,c)}));e.addRange(a,d);a.push(e.punctuationPart(17));var p=t.parameters;n=p.length>0?e.map(p,createSignatureHelpParameterForParameter):r;o.push(e.punctuationPart(18))}var m=e.mapToDisplayParts((function(e){return i.getSymbolDisplayBuilder().buildReturnTypeDisplay(t,e,c)}));e.addRange(o,m);return{isVariadic:t.hasRestParameter,prefixDisplayParts:a,suffixDisplayParts:o,separatorDisplayParts:[e.punctuationPart(24),e.spacePart()],parameters:n,documentation:t.getDocumentationComment()}}));var p=a.argumentIndex;var m=a.argumentCount;var g=t.indexOf(n);g<0&&(g=selectBestInvalidOverloadIndex(t,m));e.Debug.assert(0===p||p=r.end}e.startEndContainsRange=startEndContainsRange;function rangeContainsStartEnd(e,t,r){return e.pos<=t&&e.end>=r}e.rangeContainsStartEnd=rangeContainsStartEnd;function rangeOverlapsWithStartEnd(e,t,r){return startEndOverlapsWithStartEnd(e.pos,e.end,t,r)}e.rangeOverlapsWithStartEnd=rangeOverlapsWithStartEnd;function startEndOverlapsWithStartEnd(e,t,r,n){var a=Math.max(e,r);var i=Math.min(t,n);return at||!isCompletedNode(e,r)}e.positionBelongsToNode=positionBelongsToNode;function isCompletedNode(t,r){if(e.nodeIsMissing(t))return false;switch(t.kind){case 221:case 222:case 224:case 171:case 167:case 159:case 199:case 226:case 227:case 233:case 237:return nodeEndsWith(t,16,r);case 252:return isCompletedNode(t.block,r);case 175:if(!t.arguments)return true;case 174:case 178:case 164:return nodeEndsWith(t,18,r);case 156:case 157:return isCompletedNode(t.type,r);case 148:case 149:case 150:case 220:case 179:case 147:case 146:case 152:case 151:case 180:return t.body?isCompletedNode(t.body,r):t.type?isCompletedNode(t.type,r):hasChildOfKind(t,18,r);case 225:return t.body&&isCompletedNode(t.body,r);case 203:return t.elseStatement?isCompletedNode(t.elseStatement,r):isCompletedNode(t.thenStatement,r);case 202:return isCompletedNode(t.expression,r)||hasChildOfKind(t,23);case 170:case 168:case 173:case 140:case 161:return nodeEndsWith(t,20,r);case 153:return t.type?isCompletedNode(t.type,r):hasChildOfKind(t,20,r);case 249:case 250:return false;case 206:case 207:case 208:case 205:return isCompletedNode(t.statement,r);case 204:var n=findChildOfKind(t,104,r);return n?nodeEndsWith(t,18,r):isCompletedNode(t.statement,r);case 158:return isCompletedNode(t.exprName,r);case 182:case 181:case 183:case 190:case 191:var a=t;return isCompletedNode(a.expression,r);case 176:return isCompletedNode(t.template,r);case 189:var i=e.lastOrUndefined(t.templateSpans);return isCompletedNode(i,r);case 197:return e.nodeIsPresent(t.literal);case 236:case 230:return e.nodeIsPresent(t.moduleSpecifier);case 185:return isCompletedNode(t.operand,r);case 187:return isCompletedNode(t.right,r);case 188:return isCompletedNode(t.whenFalse,r);default:return true}}e.isCompletedNode=isCompletedNode;function nodeEndsWith(t,r,n){var a=t.getChildren(n);if(a.length){var i=e.lastOrUndefined(a);if(i.kind===r)return true;if(23===i.kind&&1!==a.length)return a[a.length-2].kind===r}return false}function findListItemInfo(t){var r=findContainingList(t);if(r){var n=r.getChildren();var a=e.indexOf(n,t);return{listItemIndex:a,list:r}}}e.findListItemInfo=findListItemInfo;function hasChildOfKind(e,t,r){return!!findChildOfKind(e,t,r)}e.hasChildOfKind=hasChildOfKind;function findChildOfKind(t,r,n){return e.forEach(t.getChildren(n),(function(e){return e.kind===r&&e}))}e.findChildOfKind=findChildOfKind;function findContainingList(t){var r=e.forEach(t.parent.getChildren(),(function(e){if(282===e.kind&&e.pos<=t.pos&&e.end>=t.end)return e}));e.Debug.assert(!r||e.contains(r.getChildren(),t));return r}e.findContainingList=findContainingList;function getTouchingWord(e,t,r){void 0===r&&(r=false);return getTouchingToken(e,t,(function(e){return isWord(e.kind)}),r)}e.getTouchingWord=getTouchingWord;function getTouchingPropertyName(e,t,r){void 0===r&&(r=false);return getTouchingToken(e,t,(function(e){return isPropertyName(e.kind)}),r)}e.getTouchingPropertyName=getTouchingPropertyName;function getTouchingToken(e,t,r,n){void 0===n&&(n=false);return getTokenAtPositionWorker(e,t,false,r,n)}e.getTouchingToken=getTouchingToken;function getTokenAtPosition(e,t,r){void 0===r&&(r=false);return getTokenAtPositionWorker(e,t,true,void 0,r)}e.getTokenAtPosition=getTokenAtPosition;function getTokenAtPositionWorker(t,r,n,a,i){void 0===i&&(i=false);var o=t;e:while(true){if(isToken(o))return o;if(i){var s=e.filter(o.getChildren(),e.isJSDocNode);for(var c=0,l=s;cr.getStart(e)&&te.end||i.pos===e.end;if(o&&nodeHasTokens(i))return find(i)}}}e.findNextToken=findNextToken;function findPrecedingToken(t,r,n){return find(n||r);function findRightmostToken(e){if(isToken(e)||244===e.kind)return e;var t=e.getChildren();var r=findRightmostChildNodeWithTokens(t,t.length);return r&&findRightmostToken(r)}function find(a){if(isToken(a)||244===a.kind)return a;var i=a.getChildren();for(var o=0,s=i.length;o=t||244===c.kind&&l===c.end;if(u){var _=findRightmostChildNodeWithTokens(i,o);return _&&findRightmostToken(_)}return find(c)}}e.Debug.assert(void 0!==n||256===a.kind);if(i.length){var _=findRightmostChildNodeWithTokens(i,i.length);return _&&findRightmostToken(_)}}function findRightmostChildNodeWithTokens(e,t){for(var r=t-1;r>=0;r--)if(nodeHasTokens(e[r]))return e[r]}}e.findPrecedingToken=findPrecedingToken;function isInString(e,t){var r=findPrecedingToken(t,e);if(r&&(9===r.kind||166===r.kind)){var n=r.getStart();var a=r.getEnd();if(nn.getStart(t)}e.isInTemplateString=isInTemplateString;function isInCommentHelper(t,r,n){var a=getTokenAtPosition(t,r);if(a&&r<=a.getStart(t)){var i=e.getLeadingCommentRanges(t.text,a.pos);return n?e.forEach(i,(function(e){return e.pos=e.pos+3&&"/"===r[e.pos]&&"*"===r[e.pos+1]&&"*"===r[e.pos+2]}}e.hasDocComment=hasDocComment;function getJsDocTagAtPosition(t,r){var n=e.getTokenAtPosition(t,r);if(isToken(n))switch(n.kind){case 102:case 108:case 74:n=void 0===n.parent?void 0:n.parent.parent;break;default:n=n.parent;break}if(n&&n.jsDocComments)for(var a=0,i=n.jsDocComments;a0?n.join(","):e.ScriptElementKindModifier.none}e.getNodeModifiers=getNodeModifiers;function getTypeArgumentOrTypeParameterList(t){return 155===t.kind||174===t.kind?t.typeArguments:e.isFunctionLike(t)||221===t.kind||222===t.kind?t.typeParameters:void 0}e.getTypeArgumentOrTypeParameterList=getTypeArgumentOrTypeParameterList;function isToken(e){return e.kind>=0&&e.kind<=138}e.isToken=isToken;function isWord(t){return 69===t||e.isKeyword(t)}e.isWord=isWord;function isPropertyName(e){return 9===e||8===e||isWord(e)}function isComment(e){return 2===e||3===e}e.isComment=isComment;function isStringOrRegularExpressionOrTemplateLiteral(t){return!(9!==t&&166!==t&&10!==t&&!e.isTemplateLiteralKind(t))}e.isStringOrRegularExpressionOrTemplateLiteral=isStringOrRegularExpressionOrTemplateLiteral;function isPunctuation(e){return 15<=e&&e<=68}e.isPunctuation=isPunctuation;function isInsideTemplateLiteral(t,r){return e.isTemplateLiteralKind(t.kind)&&t.getStart()0&&142===e.declarations[0].kind}e.isFirstDeclarationOfSymbolParameter=isFirstDeclarationOfSymbolParameter;var t=getDisplayPartWriter();function getDisplayPartWriter(){var t;var r;var n;resetWriter();return{displayParts:function(){return t},writeKeyword:function(t){return writeKind(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return writeKind(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return writeKind(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return writeKind(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return writeKind(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return writeKind(t,e.SymbolDisplayPartKind.parameterName)},writeSymbol:writeSymbol,writeLine:writeLine,increaseIndent:function(){n++},decreaseIndent:function(){n--},clear:resetWriter,trackSymbol:function(){},reportInaccessibleThisError:function(){}};function writeIndent(){if(r){var a=e.getIndentString(n);a&&t.push(displayPart(a,e.SymbolDisplayPartKind.space));r=false}}function writeKind(e,r){writeIndent();t.push(displayPart(e,r))}function writeSymbol(e,r){writeIndent();t.push(symbolPart(e,r))}function writeLine(){t.push(lineBreakPart());r=true}function resetWriter(){t=[];r=true;n=0}}function symbolPart(t,r){return displayPart(t,displayPartKind(r),r);function displayPartKind(t){var r=t.flags;return 3&r?isFirstDeclarationOfSymbolParameter(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:4&r||32768&r||65536&r?e.SymbolDisplayPartKind.propertyName:8&r?e.SymbolDisplayPartKind.enumMemberName:16&r?e.SymbolDisplayPartKind.functionName:32&r?e.SymbolDisplayPartKind.className:64&r?e.SymbolDisplayPartKind.interfaceName:384&r?e.SymbolDisplayPartKind.enumName:1536&r?e.SymbolDisplayPartKind.moduleName:8192&r?e.SymbolDisplayPartKind.methodName:262144&r?e.SymbolDisplayPartKind.typeParameterName:524288&r||8388608&r?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}}e.symbolPart=symbolPart;function displayPart(t,r,n){return{text:t,kind:e.SymbolDisplayPartKind[r]}}e.displayPart=displayPart;function spacePart(){return displayPart(" ",e.SymbolDisplayPartKind.space)}e.spacePart=spacePart;function keywordPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}e.keywordPart=keywordPart;function punctuationPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)}e.punctuationPart=punctuationPart;function operatorPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.operator)}e.operatorPart=operatorPart;function textOrKeywordPart(t){var r=e.stringToToken(t);return void 0===r?textPart(t):keywordPart(r)}e.textOrKeywordPart=textOrKeywordPart;function textPart(t){return displayPart(t,e.SymbolDisplayPartKind.text)}e.textPart=textPart;var r="\r\n";function getNewLineOrDefaultFromHost(e){return e.getNewLine?e.getNewLine():r}e.getNewLineOrDefaultFromHost=getNewLineOrDefaultFromHost;function lineBreakPart(){return displayPart("\n",e.SymbolDisplayPartKind.lineBreak)}e.lineBreakPart=lineBreakPart;function mapToDisplayParts(e){e(t);var r=t.displayParts();t.clear();return r}e.mapToDisplayParts=mapToDisplayParts;function typeToDisplayParts(e,t,r,n){return mapToDisplayParts((function(a){e.getSymbolDisplayBuilder().buildTypeDisplay(t,a,r,n)}))}e.typeToDisplayParts=typeToDisplayParts;function symbolToDisplayParts(e,t,r,n,a){return mapToDisplayParts((function(i){e.getSymbolDisplayBuilder().buildSymbolDisplay(t,i,r,n,a)}))}e.symbolToDisplayParts=symbolToDisplayParts;function signatureToDisplayParts(e,t,r,n){return mapToDisplayParts((function(a){e.getSymbolDisplayBuilder().buildSignatureDisplay(t,a,r,n)}))}e.signatureToDisplayParts=signatureToDisplayParts;function getDeclaredName(t,r,n){if(isImportOrExportSpecifierName(n))return n.getText();if(e.isStringOrNumericLiteral(n.kind)&&140===n.parent.kind)return n.text;var a=e.getLocalSymbolForExportDefault(r);var i=t.symbolToString(a||r);return i}e.getDeclaredName=getDeclaredName;function isImportOrExportSpecifierName(e){return e.parent&&(234===e.parent.kind||238===e.parent.kind)&&e.parent.propertyName===e}e.isImportOrExportSpecifierName=isImportOrExportSpecifierName;function stripQuotes(e){var t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&(34===e.charCodeAt(0)||39===e.charCodeAt(0))?e.substring(1,t-1):e}e.stripQuotes=stripQuotes;function scriptKindIs(t,r){var n=[];for(var a=2;a>=n;r+=n}return t};RulesBucketConstructionState.prototype.IncreaseInsertionIndex=function(t){var r=(this||i).rulesInsertionIndexBitmap>>t&a;r++;e.Debug.assert((r&a)===r,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.");var n=(this||i).rulesInsertionIndexBitmap&~(a<=0};return TokenRangeAccess}();t.TokenRangeAccess=r;var n=function(){function TokenValuesAccess(e){(this||i).tokens=e&&e.length?e:[]}TokenValuesAccess.prototype.GetTokens=function(){return(this||i).tokens};TokenValuesAccess.prototype.Contains=function(e){return(this||i).tokens.indexOf(e)>=0};return TokenValuesAccess}();t.TokenValuesAccess=n;var a=function(){function TokenSingleValueAccess(e){(this||i).token=e}TokenSingleValueAccess.prototype.GetTokens=function(){return[(this||i).token]};TokenSingleValueAccess.prototype.Contains=function(e){return e===(this||i).token};return TokenSingleValueAccess}();t.TokenSingleValueAccess=a;var o=function(){function TokenAllAccess(){}TokenAllAccess.prototype.GetTokens=function(){var e=[];for(var t=0;t<=138;t++)e.push(t);return e};TokenAllAccess.prototype.Contains=function(e){return true};TokenAllAccess.prototype.toString=function(){return"[allTokens]"};return TokenAllAccess}();t.TokenAllAccess=o;var s=function(){function TokenRange(e){(this||i).tokenAccess=e}TokenRange.FromToken=function(e){return new TokenRange(new a(e))};TokenRange.FromTokens=function(e){return new TokenRange(new n(e))};TokenRange.FromRange=function(e,t,n){void 0===n&&(n=[]);return new TokenRange(new r(e,t,n))};TokenRange.AllTokens=function(){return new TokenRange(new o)};TokenRange.prototype.GetTokens=function(){return(this||i).tokenAccess.GetTokens()};TokenRange.prototype.Contains=function(e){return(this||i).tokenAccess.Contains(e)};TokenRange.prototype.toString=function(){return(this||i).tokenAccess.toString()};TokenRange.Any=TokenRange.AllTokens();TokenRange.AnyIncludingMultilineComments=TokenRange.FromTokens(TokenRange.Any.GetTokens().concat([3]));TokenRange.Keywords=TokenRange.FromRange(70,138);TokenRange.BinaryOperators=TokenRange.FromRange(25,68);TokenRange.BinaryKeywordOperators=TokenRange.FromTokens([90,91,138,116,124]);TokenRange.UnaryPrefixOperators=TokenRange.FromTokens([41,42,50,49]);TokenRange.UnaryPrefixExpressions=TokenRange.FromTokens([8,69,17,19,15,97,92]);TokenRange.UnaryPreincrementExpressions=TokenRange.FromTokens([69,17,97,92]);TokenRange.UnaryPostincrementExpressions=TokenRange.FromTokens([69,18,20,92]);TokenRange.UnaryPredecrementExpressions=TokenRange.FromTokens([69,17,97,92]);TokenRange.UnaryPostdecrementExpressions=TokenRange.FromTokens([69,18,20,92]);TokenRange.Comments=TokenRange.FromTokens([2,3]);TokenRange.TypeNames=TokenRange.FromTokens([69,130,132,120,133,103,117]);return TokenRange}();t.TokenRange=s})(r=t.Shared||(t.Shared={}))})(t=e.formatting||(e.formatting={}))})(l||(l={}));var l;(function(e){var t;(function(t){var r=function(){function RulesProvider(){(this||i).globalRules=new t.Rules}RulesProvider.prototype.getRuleName=function(e){return(this||i).globalRules.getRuleName(e)};RulesProvider.prototype.getRuleByName=function(e){return(this||i).globalRules[e]};RulesProvider.prototype.getRulesMap=function(){return(this||i).rulesMap};RulesProvider.prototype.ensureUpToDate=function(r){if(!(this||i).options||!e.compareDataObjects((this||i).options,r)){var n=this.createActiveRules(r);var a=t.RulesMap.create(n);(this||i).activeRules=n;(this||i).rulesMap=a;(this||i).options=e.clone(r)}};RulesProvider.prototype.createActiveRules=function(e){var t=(this||i).globalRules.HighPriorityCommonRules.slice(0);e.InsertSpaceAfterCommaDelimiter?t.push((this||i).globalRules.SpaceAfterComma):t.push((this||i).globalRules.NoSpaceAfterComma);e.InsertSpaceAfterFunctionKeywordForAnonymousFunctions?t.push((this||i).globalRules.SpaceAfterAnonymousFunctionKeyword):t.push((this||i).globalRules.NoSpaceAfterAnonymousFunctionKeyword);e.InsertSpaceAfterKeywordsInControlFlowStatements?t.push((this||i).globalRules.SpaceAfterKeywordInControl):t.push((this||i).globalRules.NoSpaceAfterKeywordInControl);if(e.InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis){t.push((this||i).globalRules.SpaceAfterOpenParen);t.push((this||i).globalRules.SpaceBeforeCloseParen);t.push((this||i).globalRules.NoSpaceBetweenParens)}else{t.push((this||i).globalRules.NoSpaceAfterOpenParen);t.push((this||i).globalRules.NoSpaceBeforeCloseParen);t.push((this||i).globalRules.NoSpaceBetweenParens)}if(e.InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets){t.push((this||i).globalRules.SpaceAfterOpenBracket);t.push((this||i).globalRules.SpaceBeforeCloseBracket);t.push((this||i).globalRules.NoSpaceBetweenBrackets)}else{t.push((this||i).globalRules.NoSpaceAfterOpenBracket);t.push((this||i).globalRules.NoSpaceBeforeCloseBracket);t.push((this||i).globalRules.NoSpaceBetweenBrackets)}if(e.InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces){t.push((this||i).globalRules.SpaceAfterTemplateHeadAndMiddle);t.push((this||i).globalRules.SpaceBeforeTemplateMiddleAndTail)}else{t.push((this||i).globalRules.NoSpaceAfterTemplateHeadAndMiddle);t.push((this||i).globalRules.NoSpaceBeforeTemplateMiddleAndTail)}if(e.InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces){t.push((this||i).globalRules.SpaceAfterOpenBraceInJsxExpression);t.push((this||i).globalRules.SpaceBeforeCloseBraceInJsxExpression)}else{t.push((this||i).globalRules.NoSpaceAfterOpenBraceInJsxExpression);t.push((this||i).globalRules.NoSpaceBeforeCloseBraceInJsxExpression)}e.InsertSpaceAfterSemicolonInForStatements?t.push((this||i).globalRules.SpaceAfterSemicolonInFor):t.push((this||i).globalRules.NoSpaceAfterSemicolonInFor);if(e.InsertSpaceBeforeAndAfterBinaryOperators){t.push((this||i).globalRules.SpaceBeforeBinaryOperator);t.push((this||i).globalRules.SpaceAfterBinaryOperator)}else{t.push((this||i).globalRules.NoSpaceBeforeBinaryOperator);t.push((this||i).globalRules.NoSpaceAfterBinaryOperator)}e.PlaceOpenBraceOnNewLineForControlBlocks&&t.push((this||i).globalRules.NewLineBeforeOpenBraceInControl);if(e.PlaceOpenBraceOnNewLineForFunctions){t.push((this||i).globalRules.NewLineBeforeOpenBraceInFunction);t.push((this||i).globalRules.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock)}t=t.concat((this||i).globalRules.LowPriorityCommonRules);return t};return RulesProvider}();t.RulesProvider=r})(t=e.formatting||(e.formatting={}))})(l||(l={}));var l;(function(e){var t;(function(t){var r;(function(e){e[e["Unknown"]=-1]="Unknown"})(r||(r={}));function formatOnEnter(t,r,n,a){var i=r.getLineAndCharacterOfPosition(t).line;if(0===i)return[];var o=e.getEndLinePosition(i,r);while(e.isWhiteSpaceSingleLine(r.text.charCodeAt(o)))o--;e.isLineBreak(r.text.charCodeAt(o))&&o--;var s={pos:e.getStartPositionOfLine(i-1,r),end:o+1};return formatSpan(s,r,a,n,2)}t.formatOnEnter=formatOnEnter;function formatOnSemicolon(e,t,r,n){return formatOutermostParent(e,23,t,n,r,3)}t.formatOnSemicolon=formatOnSemicolon;function formatOnClosingCurly(e,t,r,n){return formatOutermostParent(e,16,t,n,r,4)}t.formatOnClosingCurly=formatOnClosingCurly;function formatDocument(e,t,r){var n={pos:0,end:e.text.length};return formatSpan(n,e,r,t,0)}t.formatDocument=formatDocument;function formatSelection(t,r,n,a,i){var o={pos:e.getLineStartPositionForPosition(t,n),end:r};return formatSpan(o,n,i,a,1)}t.formatSelection=formatSelection;function formatOutermostParent(t,r,n,a,i,o){var s=findOutermostParent(t,r,n);if(!s)return[];var c={pos:e.getLineStartPositionForPosition(s.getStart(n),n),end:s.end};return formatSpan(c,n,a,i,o)}function findOutermostParent(t,r,n){var a=e.findPrecedingToken(t,n);if(a&&a.kind===r&&t===a.getEnd()){var i=a;while(i&&i.parent&&i.parent.end===a.end&&!isListElement(i.parent,i))i=i.parent;return i}}function isListElement(t,r){switch(t.kind){case 221:case 222:return e.rangeContainsRange(t.members,r);case 225:var n=t.body;return n&&199===n.kind&&e.rangeContainsRange(n.statements,r);case 256:case 199:case 226:return e.rangeContainsRange(t.statements,r);case 252:return e.rangeContainsRange(t.block.statements,r)}return false}function findEnclosingNode(t,r){return find(r);function find(n){var a=e.forEachChild(n,(function(n){return e.startEndContainsRange(n.getStart(r),n.end,t)&&n}));if(a){var i=find(a);if(i)return i}return n}}function prepareRangeContainsErrorFunction(t,r){if(!t.length)return rangeHasNoErrors;var n=t.filter((function(t){return e.rangeOverlapsWithStartEnd(r,t.start,t.start+t.length)})).sort((function(e,t){return e.start-t.start}));if(!n.length)return rangeHasNoErrors;var a=0;return function(t){while(true){if(a>=n.length)return false;var r=n[a];if(t.end<=r.start)return false;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length))return true;a++}};function rangeHasNoErrors(e){return false}}function getScanStartPosition(t,r,n){var a=t.getStart(n);if(a===r.pos&&t.end===r.end)return a;var i=e.findPrecedingToken(r.pos,n);return i?i.end>=r.pos?t.pos:i.end:t.pos}function getOwnOrInheritedDelta(e,r,n){var a=-1;var i;while(e){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(e,i))return r.IndentSize;a=o;i=e;e=e.parent}return 0}function formatSpan(r,n,a,i,o){var s=prepareRangeContainsErrorFunction(n.parseDiagnostics,r);var c=new t.FormattingContext(n,o);var l=findEnclosingNode(r,n);var u=t.getFormattingScanner(n,getScanStartPosition(l,r,n),r.end);var _=t.SmartIndenter.getIndentationForNode(l,r,n,a);var d;var p;var m;var g;var f;var y;var h=[];u.advance();if(u.isOnToken()){var v=n.getLineAndCharacterOfPosition(l.getStart(n)).line;var b=v;l.decorators&&(b=n.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(l,n)).line);var T=getOwnOrInheritedDelta(l,a,n);processNode(l,l,v,b,_,T)}if(!u.isOnToken()){var k=u.getCurrentLeadingTrivia();if(k){processTrivia(k,l,l,void 0);trimTrailingWhitespacesForRemainingRange()}}u.close();return h;function tryComputeIndentationForListItem(r,i,o,s,c){if(e.rangeOverlapsWithStartEnd(s,r,i)||e.rangeContainsStartEnd(s,r,i)){if(-1!==c)return c}else{var l=n.getLineAndCharacterOfPosition(r).line;var u=e.getLineStartPositionForPosition(r,n);var _=t.SmartIndenter.findFirstNonWhitespaceColumn(u,r,n,a);if(l!==o||r===_){var d=t.SmartIndenter.getBaseIndentation(a);return d>_?d:_}}return-1}function computeIndentation(e,r,i,o,s,c){var l=i;var u=t.SmartIndenter.shouldIndentChildNode(e)?a.IndentSize:0;if(c===r){l=r===f?y:s.getIndentation();u=Math.min(a.IndentSize,s.getDelta(e)+u)}else-1===l&&(l=t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(o,e,r,n)?s.getIndentation():s.getIndentation()+s.getDelta(e));return{indentation:l,delta:u}}function getFirstNonDecoratorTokenOfNode(e){if(e.modifiers&&e.modifiers.length)return e.modifiers[0].kind;switch(e.kind){case 221:return 73;case 222:return 107;case 220:return 87;case 224:return 224;case 149:return 123;case 150:return 131;case 147:if(e.asteriskToken)return 37;case 145:case 142:return e.name.kind}}function getDynamicIndentation(e,r,n,i){return{getIndentationForComment:function(e,t,r){switch(e){case 16:case 20:case 18:return n+getEffectiveDelta(i,r)}return-1!==t?t:n},getIndentationForToken:function(t,a,o){if(r!==t&&e.decorators&&a===getFirstNonDecoratorTokenOfNode(e))return n;switch(a){case 15:case 16:case 19:case 20:case 17:case 18:case 80:case 104:case 55:return n;default:return r!==t?n+getEffectiveDelta(i,o):n}},getIndentation:function(){return n},getDelta:function(e){return getEffectiveDelta(i,e)},recomputeIndentation:function(r){if(e.parent&&t.SmartIndenter.shouldIndentChildNode(e.parent,e)){r?n+=a.IndentSize:n-=a.IndentSize;i=t.SmartIndenter.shouldIndentChildNode(e)?a.IndentSize:0}}};function getEffectiveDelta(r,n){return t.SmartIndenter.nodeWillIndentChild(e,n,true)?r:0}}function processNode(t,a,i,o,c,l){if(e.rangeOverlapsWithStartEnd(r,t.getStart(n),t.getEnd())){var _=getDynamicIndentation(t,i,c,l);var d=a;e.forEachChild(t,(function(e){processChildNode(e,-1,t,_,i,o,false)}),(function(e){processChildNodes(e,t,i,_)}));while(u.isOnToken()){var m=u.readTokenInfo(t);if(m.token.end>t.end)break;consumeTokenAndAdvanceScanner(m,t,_)}}function processChildNode(a,i,o,s,c,l,_,p){var m=a.getStart(n);var g=n.getLineAndCharacterOfPosition(m).line;var f=g;a.decorators&&(f=n.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,n)).line);var y=-1;if(_){y=tryComputeIndentationForListItem(m,a.end,c,r,i);-1!==y&&(i=y)}if(!e.rangeOverlapsWithStartEnd(r,a.pos,a.end)){a.endm)break;consumeTokenAndAdvanceScanner(h,t,s)}if(!u.isOnToken())return i;if(e.isToken(a)){var h=u.readTokenInfo(a);e.Debug.assert(h.token.end===a.end);consumeTokenAndAdvanceScanner(h,t,s,a);return i}var v=143===a.kind?g:l;var b=computeIndentation(a,g,y,t,s,v);processNode(a,d,g,f,b.indentation,b.delta);d=t;p&&170===o.kind&&-1===i&&(i=b.indentation);return i}function processChildNodes(r,a,i,o){var s=getOpenTokenForList(a,r);var c=getCloseTokenForOpenToken(s);var l=o;var _=i;if(0!==s)while(u.isOnToken()){var d=u.readTokenInfo(a);if(d.token.end>r.pos)break;if(d.token.kind===s){_=n.getLineAndCharacterOfPosition(d.token.pos).line;var p=computeIndentation(d.token,_,-1,a,o,i);l=getDynamicIndentation(a,i,p.indentation,p.delta);consumeTokenAndAdvanceScanner(d,a,l)}else consumeTokenAndAdvanceScanner(d,a,o)}var m=-1;for(var g=0;g0){var k=getIndentationString(T,a);recordReplace(v,b.character,k)}else recordDelete(v,b.character)}}}else o||insertIndentation(r.pos,i,false)}function trimTrailingWhitespacesForLines(t,r,a){for(var i=t;is)){var c=getTrailingWhitespaceStartPosition(o,s);if(-1!==c){e.Debug.assert(c===o||!e.isWhiteSpaceSingleLine(n.text.charCodeAt(c-1)));recordDelete(c,s+1-c)}}}}function getTrailingWhitespaceStartPosition(t,r){var a=r;while(a>=t&&e.isWhiteSpaceSingleLine(n.text.charCodeAt(a)))a--;return a!==r?a+1:-1}function trimTrailingWhitespacesForRemainingRange(){var e=p?p.end:r.pos;var t=n.getLineAndCharacterOfPosition(e).line;var a=n.getLineAndCharacterOfPosition(r.end).line;trimTrailingWhitespacesForLines(t,a+1,p)}function newTextChange(t,r,n){return{span:e.createTextSpan(t,r),newText:n}}function recordDelete(e,t){t&&h.push(newTextChange(e,t,""))}function recordReplace(e,t,r){(t||r)&&h.push(newTextChange(e,t,r))}function applyRuleEdits(e,t,r,i,o){switch(e.Operation.Action){case 1:return;case 8:t.end!==i.pos&&recordDelete(t.end,i.pos-t.end);break;case 4:if(1!==e.Flag&&r!==o)return;var s=o-r;1!==s&&recordReplace(t.end,i.pos-t.end,a.NewLineCharacter);break;case 2:if(1!==e.Flag&&r!==o)return;var c=i.pos-t.end;1===c&&32===n.text.charCodeAt(t.end)||recordReplace(t.end,i.pos-t.end," ");break}}}function getOpenTokenForList(e,t){switch(e.kind){case 148:case 220:case 179:case 147:case 146:case 180:if(e.typeParameters===t)return 25;if(e.parameters===t)return 17;break;case 174:case 175:if(e.typeArguments===t)return 25;if(e.arguments===t)return 17;break;case 155:if(e.typeArguments===t)return 25}return 0}function getCloseTokenForOpenToken(e){switch(e){case 17:return 18;case 25:return 27}return 0}var n;var a;var i;function getIndentationString(e,t){var r=!n||n.tabSize!==t.TabSize||n.indentSize!==t.IndentSize;if(r){n={tabSize:t.TabSize,indentSize:t.IndentSize};a=i=void 0}if(t.ConvertTabsToSpaces){var o=void 0;var s=Math.floor(e/t.IndentSize);var c=e%t.IndentSize;i||(i=[]);if(void 0===i[s]){o=repeat(" ",t.IndentSize*s);i[s]=o}else o=i[s];return c?o+repeat(" ",c):o}var l=Math.floor(e/t.TabSize);var u=e-l*t.TabSize;var _=void 0;a||(a=[]);void 0===a[l]?a[l]=_=repeat("\t",l):_=a[l];return u?_+repeat(" ",u):_;function repeat(e,t){var r="";for(var n=0;nn.text.length)return getBaseIndentation(a);if(a.IndentStyle===e.IndentStyle.None)return 0;var i=e.findPrecedingToken(r,n);if(!i)return getBaseIndentation(a);var o=e.isStringOrRegularExpressionOrTemplateLiteral(i.kind);if(o&&i.getStart(n)<=r&&i.end>r)return 0;var s=n.getLineAndCharacterOfPosition(r).line;if(a.IndentStyle===e.IndentStyle.Block){var c=r;while(c>0){var l=n.text.charCodeAt(c);if(!e.isWhiteSpace(l))break;c--}var u=e.getLineStartPositionForPosition(c,n);return t.findFirstNonWhitespaceColumn(u,c,n,a)}if(24===i.kind&&187!==i.parent.kind){var _=getActualIndentationForListItemBeforeComma(i,n,a);if(-1!==_)return _}var d;var p=i;var m;var g;while(p){if(e.positionBelongsToNode(p,r,n)&&shouldIndentChildNode(p,d)){m=getStartLineAndCharacterForNode(p,n);g=nextTokenIsCurlyBraceOnSameLineAsCursor(i,p,s,n)?0:s!==m.line?a.IndentSize:0;break}var _=getActualIndentationForListItem(p,n,a);if(-1!==_)return _;_=getLineIndentationWhenExpressionIsInMultiLine(p,n,a);if(-1!==_)return _+a.IndentSize;d=p;p=p.parent}return p?getIndentationForNodeWorker(p,m,void 0,g,n,a):getBaseIndentation(a)}t.getIndentation=getIndentation;function getBaseIndentation(e){return e.BaseIndentSize||0}t.getBaseIndentation=getBaseIndentation;function getIndentationForNode(e,t,r,n){var a=r.getLineAndCharacterOfPosition(e.getStart(r));return getIndentationForNodeWorker(e,a,t,0,r,n)}t.getIndentationForNode=getIndentationForNode;function getIndentationForNodeWorker(e,t,r,n,a,i){var o=e.parent;var s;while(o){var c=true;if(r){var l=e.getStart(a);c=lr.end}if(c){var u=getActualIndentationForListItem(e,a,i);if(-1!==u)return u+n}s=getParentStart(o,e,a);var _=s.line===t.line||childStartsOnTheSameLineWithElseInIfStatement(o,e,t.line,a);if(c){var u=getActualIndentationForNode(e,o,t,_,a,i);if(-1!==u)return u+n;u=getLineIndentationWhenExpressionIsInMultiLine(e,a,i);if(-1!==u)return u+n}shouldIndentChildNode(o,e)&&!_&&(n+=i.IndentSize);e=o;t=s;o=e.parent}return n+getBaseIndentation(i)}function getParentStart(e,t,r){var n=getContainingList(t,r);return n?r.getLineAndCharacterOfPosition(n.pos):r.getLineAndCharacterOfPosition(e.getStart(r))}function getActualIndentationForListItemBeforeComma(t,r,n){var a=e.findListItemInfo(t);return a&&a.listItemIndex>0?deriveActualIndentationFromList(a.list.getChildren(),a.listItemIndex-1,r,n):-1}function getActualIndentationForNode(t,r,n,a,i,o){var s=(e.isDeclaration(t)||e.isStatement(t))&&(256===r.kind||!a);return s?findColumnForFirstNonWhitespaceCharacterInLine(n,i,o):-1}function nextTokenIsCurlyBraceOnSameLineAsCursor(t,r,n,a){var i=e.findNextToken(t,r);if(!i)return false;if(15===i.kind)return true;if(16===i.kind){var o=getStartLineAndCharacterForNode(i,a).line;return n===o}return false}function getStartLineAndCharacterForNode(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function childStartsOnTheSameLineWithElseInIfStatement(t,r,n,a){if(203===t.kind&&t.elseStatement===r){var i=e.findChildOfKind(t,80,a);e.Debug.assert(void 0!==i);var o=getStartLineAndCharacterForNode(i,a).line;return o===n}return false}t.childStartsOnTheSameLineWithElseInIfStatement=childStartsOnTheSameLineWithElseInIfStatement;function getContainingList(t,r){if(t.parent)switch(t.parent.kind){case 155:if(t.parent.typeArguments&&e.rangeContainsStartEnd(t.parent.typeArguments,t.getStart(r),t.getEnd()))return t.parent.typeArguments;break;case 171:return t.parent.properties;case 170:return t.parent.elements;case 220:case 179:case 180:case 147:case 146:case 151:case 152:var n=t.getStart(r);if(t.parent.typeParameters&&e.rangeContainsStartEnd(t.parent.typeParameters,n,t.getEnd()))return t.parent.typeParameters;if(e.rangeContainsStartEnd(t.parent.parameters,n,t.getEnd()))return t.parent.parameters;break;case 175:case 174:var n=t.getStart(r);if(t.parent.typeArguments&&e.rangeContainsStartEnd(t.parent.typeArguments,n,t.getEnd()))return t.parent.typeArguments;if(t.parent.arguments&&e.rangeContainsStartEnd(t.parent.arguments,n,t.getEnd()))return t.parent.arguments;break}}function getActualIndentationForListItem(t,r,n){var a=getContainingList(t,r);return a?getActualIndentationFromList(a):-1;function getActualIndentationFromList(a){var i=e.indexOf(a,t);return-1!==i?deriveActualIndentationFromList(a,i,r,n):-1}}function getLineIndentationWhenExpressionIsInMultiLine(e,t,r){if(18===e.kind)return-1;if(e.parent&&(174===e.parent.kind||175===e.parent.kind)&&e.parent.expression!==e){var n=e.parent.expression;var a=getStartingExpression(n);if(n===a)return-1;var i=t.getLineAndCharacterOfPosition(n.end);var o=t.getLineAndCharacterOfPosition(a.end);return i.line===o.line?-1:findColumnForFirstNonWhitespaceCharacterInLine(i,t,r)}return-1;function getStartingExpression(e){while(true)switch(e.kind){case 174:case 175:case 172:case 173:e=e.expression;break;default:return e}}}function deriveActualIndentationFromList(t,r,n,a){e.Debug.assert(r>=0&&r=0;s--)if(24!==t[s].kind){var c=n.getLineAndCharacterOfPosition(t[s].end).line;if(c!==o.line)return findColumnForFirstNonWhitespaceCharacterInLine(o,n,a);o=getStartLineAndCharacterForNode(t[s],n)}return-1}function findColumnForFirstNonWhitespaceCharacterInLine(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return findFirstNonWhitespaceColumn(n,n+e.character,t,r)}function findFirstNonWhitespaceCharacterAndColumn(t,r,n,a){var i=0;var o=0;for(var s=t;s=139){r.setText((t||this.getSourceFile()).text);o=[];var s=(this||i).pos;var c=(this||i).kind>=273&&(this||i).kind<=281;var processNode=function(e){s=n)break;if(123===i.text.charCodeAt(t)){t++;for(var u=1;t=n)break}if(isName(t,n,i,r)){t=consumeWhiteSpaces(t+r.length);if(t>=n)break;var d="";var p=t;while(t=n)){void 0===o&&(o=i.getLineAndCharacterOfPosition(e).character);var r=t;t=consumeWhiteSpacesOnTheLine(t,n,i,o);if(!(t>=n)){var a=t-r;if(a=0);0===a.languageServiceRefCount&&n.remove(t)}return{acquireDocument:acquireDocument,acquireDocumentWithKey:acquireDocumentWithKey,updateDocument:updateDocument,updateDocumentWithKey:updateDocumentWithKey,releaseDocument:releaseDocument,releaseDocumentWithKey:releaseDocumentWithKey,reportStats:reportStats,getKeyForCompilationSettings:getKeyForCompilationSettings}}e.createDocumentRegistry=createDocumentRegistry;function preProcessFile(t,n,a){void 0===n&&(n=true);void 0===a&&(a=false);var i=[];var o=[];var s=[];var c;var l=false;var u=0;var _=false;function nextToken(){var e=r.scan();15===e?u++:16===e&&u--;return e}function processTripleSlashDirectives(){var r=e.getLeadingCommentRanges(t,0);e.forEach(r,(function(r){var n=t.substring(r.pos,r.end);var a=e.getFileReferenceFromReferencePath(n,r);if(a){l=a.isNoDefaultLib;var s=a.fileReference;if(s){var c=a.isTypeReferenceDirective?o:i;c.push(s)}}}))}function getFileReference(){var e=r.getTokenValue();var t=r.getTokenPos();return{fileName:e,pos:t,end:t+e.length}}function recordAmbientExternalModule(){c||(c=[]);c.push({ref:getFileReference(),depth:u})}function recordModuleName(){s.push(getFileReference());markAsExternalModuleIfTopLevel()}function markAsExternalModuleIfTopLevel(){0===u&&(_=true)}function tryConsumeDeclare(){var e=r.getToken();if(122===e){e=nextToken();if(125===e){e=nextToken();9===e&&recordAmbientExternalModule()}return true}return false}function tryConsumeImport(){var t=r.getToken();if(89===t){t=nextToken();if(9===t){recordModuleName();return true}if(69===t||e.isKeyword(t)){t=nextToken();if(136===t){t=nextToken();if(9===t){recordModuleName();return true}}else if(56===t){if(tryConsumeRequireCall(true))return true}else{if(24!==t)return true;t=nextToken()}}if(15===t){t=nextToken();while(16!==t&&1!==t)t=nextToken();if(16===t){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}}else if(37===t){t=nextToken();if(116===t){t=nextToken();if(69===t||e.isKeyword(t)){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}}}return true}return false}function tryConsumeExport(){var t=r.getToken();if(82===t){markAsExternalModuleIfTopLevel();t=nextToken();if(15===t){t=nextToken();while(16!==t&&1!==t)t=nextToken();if(16===t){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}}else if(37===t){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}else if(89===t){t=nextToken();if(69===t||e.isKeyword(t)){t=nextToken();if(56===t&&tryConsumeRequireCall(true))return true}}return true}return false}function tryConsumeRequireCall(e){var t=e?nextToken():r.getToken();if(129===t){t=nextToken();if(17===t){t=nextToken();9===t&&recordModuleName()}return true}return false}function tryConsumeDefine(){var e=r.getToken();if(69===e&&"define"===r.getTokenValue()){e=nextToken();if(17!==e)return true;e=nextToken();if(9===e){e=nextToken();if(24!==e)return true;e=nextToken()}if(19!==e)return true;e=nextToken();var t=0;while(20!==e&&1!==e){if(9===e){recordModuleName();t++}e=nextToken()}return true}return false}function processImports(){r.setText(t);nextToken();while(true){if(1===r.getToken())break;tryConsumeDeclare()||tryConsumeImport()||tryConsumeExport()||a&&(tryConsumeRequireCall(false)||tryConsumeDefine())||nextToken()}r.setText(void 0)}n&&processImports();processTripleSlashDirectives();if(_){if(c)for(var d=0,p=c;d0&&(N=filterObjectMembersList(s,n));return true}function tryGetImportOrExportClauseCompletionSymbols(t){var r=233===t.kind?230:236;var i=e.getAncestor(t,r);var o=i.moduleSpecifier;if(!o)return false;D=true;E=false;var s;var c=a.getSymbolAtLocation(i.moduleSpecifier);c&&(s=a.getExportsOfModule(c));N=s?filterNamedImportOrExportCompletionItems(s,t.elements):n;return true}function tryGetObjectLikeCompletionContainer(e){if(e)switch(e.kind){case 15:case 24:var t=e.parent;if(t&&(171===t.kind||167===t.kind))return t;break}}function tryGetNamedImportsOrExportsForCompletion(e){if(e)switch(e.kind){case 15:case 24:switch(e.parent.kind){case 233:case 237:return e.parent}}}function tryGetContainingJsxElement(e){if(e){var t=e.parent;switch(e.kind){case 26:case 39:case 69:case 246:case 247:if(t&&(242===t.kind||243===t.kind))return t;if(246===t.kind)return t.parent;break;case 9:if(t&&(246===t.kind||247===t.kind))return t.parent;break;case 16:if(t&&248===t.kind&&t.parent&&246===t.parent.kind)return t.parent.parent;if(t&&247===t.kind)return t.parent;break}}}function isFunction(e){switch(e){case 179:case 180:case 220:case 147:case 146:case 149:case 150:case 151:case 152:case 153:return true}return false}function isSolelyIdentifierDefinitionLocation(e){var t=e.parent.kind;switch(e.kind){case 24:return 218===t||219===t||200===t||224===t||isFunction(t)||221===t||192===t||222===t||168===t||223===t;case 21:return 168===t;case 54:return 169===t;case 19:return 168===t;case 17:return 252===t||isFunction(t);case 15:return 224===t||222===t||159===t;case 23:return 144===t&&e.parent&&e.parent.parent&&(222===e.parent.parent.kind||159===e.parent.parent.kind);case 25:return 221===t||192===t||222===t||223===t||isFunction(t);case 113:return 145===t;case 22:return 142===t||e.parent&&e.parent.parent&&168===e.parent.parent.kind;case 112:case 110:case 111:return 142===t;case 116:return 234===t||238===t||232===t;case 73:case 81:case 107:case 87:case 102:case 123:case 131:case 89:case 108:case 74:case 114:case 134:return true}switch(e.getText()){case"abstract":case"async":case"class":case"const":case"declare":case"enum":case"function":case"interface":case"let":case"private":case"protected":case"public":case"static":case"var":case"yield":return true}return false}function isDotOfNumericLiteral(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return false}function filterNamedImportOrExportCompletionItems(t,n){var a={};for(var i=0,o=n;ie.argumentIndex){var s=o.parameters[e.argumentIndex];addStringLiteralCompletionsFromType(t.getTypeAtLocation(s.valueDeclaration),n)}}if(n.length)return{isMemberCompletion:false,isNewIdentifierLocation:true,entries:n}}function getStringLiteralCompletionEntriesFromElementAccess(e){var t=c.getTypeChecker();var r=t.getTypeAtLocation(e.expression);var n=[];if(r){getCompletionEntriesFromSymbols(r.getApparentProperties(),n,e,false);if(n.length)return{isMemberCompletion:true,isNewIdentifierLocation:true,entries:n}}}function getStringLiteralCompletionEntriesFromContextualType(e){var t=c.getTypeChecker();var r=t.getContextualType(e);if(r){var n=[];addStringLiteralCompletionsFromType(r,n);if(n.length)return{isMemberCompletion:false,isNewIdentifierLocation:false,entries:n}}}function addStringLiteralCompletionsFromType(t,r){t&&(16384&t.flags?e.forEach(t.types,(function(e){return addStringLiteralCompletionsFromType(e,r)})):256&t.flags&&r.push({name:t.text,kindModifiers:T.none,kind:b.variableElement,sortText:"0"}))}}function getCompletionEntryDetails(t,r,n){synchronizeHostData();var a=getCompletionData(t,r);if(a){var i=a.symbols,o=a.location;var s=c.getCompilerOptions().target;var l=e.forEach(i,(function(e){return getCompletionEntryDisplayNameForSymbol(e,s,false,o)===n?e:void 0}));if(l){var u=getSymbolDisplayPartsDocumentationAndSymbolKind(l,getValidSourceFile(t),o,o,7),_=u.displayParts,d=u.documentation,p=u.symbolKind;return{name:n,kindModifiers:getSymbolModifiers(l),kind:p,displayParts:_,documentation:d}}}var m=e.forEach(O,(function(e){return e.name===n}));if(m)return{name:n,kind:b.keyword,kindModifiers:T.none,displayParts:[e.displayPart(n,f.keyword)],documentation:void 0}}function getSymbolKind(t,r){var n=t.getFlags();if(32&n)return e.getDeclarationOfKind(t,192)?b.localClassElement:b.classElement;if(384&n)return b.enumElement;if(524288&n)return b.typeElement;if(64&n)return b.interfaceElement;if(262144&n)return b.typeParameterElement;var a=getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,n,r);if(a===b.unknown){if(262144&n)return b.typeParameterElement;if(8&n)return b.variableElement;if(8388608&n)return b.alias;if(1536&n)return b.moduleElement}return a}function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,n){var a=c.getTypeChecker();if(a.isUndefinedSymbol(t))return b.variableElement;if(a.isArgumentsSymbol(t))return b.localVariableElement;if(97===n.kind&&e.isExpression(n))return b.parameterElement;if(3&r)return e.isFirstDeclarationOfSymbolParameter(t)?b.parameterElement:t.valueDeclaration&&e.isConst(t.valueDeclaration)?b.constElement:e.forEach(t.declarations,e.isLet)?b.letElement:isLocalVariableOrFunction(t)?b.localVariableElement:b.variableElement;if(16&r)return isLocalVariableOrFunction(t)?b.localFunctionElement:b.functionElement;if(32768&r)return b.memberGetAccessorElement;if(65536&r)return b.memberSetAccessorElement;if(8192&r)return b.memberFunctionElement;if(16384&r)return b.constructorImplementationElement;if(4&r){if(268435456&r){var i=e.forEach(a.getRootSymbols(t),(function(t){var r=t.getFlags();if(r&(98308|3))return b.memberVariableElement;e.Debug.assert(!!(8192&r))}));if(!i){var o=a.getTypeOfSymbolAtLocation(t,n);return o.getCallSignatures().length?b.memberFunctionElement:b.memberVariableElement}return i}return b.memberVariableElement}return b.unknown}function getSymbolModifiers(t){return t&&t.declarations&&t.declarations.length>0?e.getNodeModifiers(t.declarations[0]):T.none}function getSymbolDisplayPartsDocumentationAndSymbolKind(t,r,n,a,i){void 0===i&&(i=getMeaningFromLocation(a));var o=c.getTypeChecker();var s=[];var l;var u=t.flags;var _=getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,u,a);var d;var p=97===a.kind&&e.isExpression(a);var m;if(_!==b.unknown||32&u||8388608&u){_!==b.memberGetAccessorElement&&_!==b.memberSetAccessorElement||(_=b.memberVariableElement);var g=void 0;m=p?o.getTypeAtLocation(a):o.getTypeOfSymbolAtLocation(t,a);if(m){if(a.parent&&172===a.parent.kind){var y=a.parent.name;(y===a||y&&0===y.getFullWidth())&&(a=a.parent)}var h=void 0;174===a.kind||175===a.kind?h=a:(isCallExpressionTarget(a)||isNewExpressionTarget(a))&&(h=a.parent);if(h){var v=[];g=o.getResolvedSignature(h,v);!g&&v.length&&(g=v[0]);var T=175===h.kind||95===h.expression.kind;var k=T?m.getConstructSignatures():m.getCallSignatures();e.contains(k,g.target)||e.contains(k,g)||(g=k.length?k[0]:void 0);if(g){if(T&&32&u){_=b.constructorImplementationElement;addPrefixForAnyFunctionOrVar(m.symbol,_)}else if(8388608&u){_=b.alias;pushTypePart(_);s.push(e.spacePart());if(T){s.push(e.keywordPart(92));s.push(e.spacePart())}addFullSymbolName(t)}else addPrefixForAnyFunctionOrVar(t,_);switch(_){case b.memberVariableElement:case b.variableElement:case b.constElement:case b.letElement:case b.parameterElement:case b.localVariableElement:s.push(e.punctuationPart(54));s.push(e.spacePart());if(T){s.push(e.keywordPart(92));s.push(e.spacePart())}65536&m.flags||!m.symbol||e.addRange(s,e.symbolToDisplayParts(o,m.symbol,n,void 0,1));addSignatureDisplayParts(g,k,8);break;default:addSignatureDisplayParts(g,k)}d=true}}else if(isNameOfFunctionDeclaration(a)&&!(98304&t.flags)||121===a.kind&&148===a.parent.kind){var S=a.parent;var k=148===S.kind?m.getNonNullableType().getConstructSignatures():m.getNonNullableType().getCallSignatures();g=o.isImplementationOfOverload(S)?k[0]:o.getSignatureFromDeclaration(S);if(148===S.kind){_=b.constructorImplementationElement;addPrefixForAnyFunctionOrVar(m.symbol,_)}else addPrefixForAnyFunctionOrVar(151!==S.kind||2048&m.symbol.flags||4096&m.symbol.flags?t:m.symbol,_);addSignatureDisplayParts(g,k);d=true}}}if(32&u&&!d&&!p){e.getDeclarationOfKind(t,192)?pushTypePart(b.localClassElement):s.push(e.keywordPart(73));s.push(e.spacePart());addFullSymbolName(t);writeTypeParametersOfSymbol(t,r)}if(64&u&&2&i){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(107));s.push(e.spacePart());addFullSymbolName(t);writeTypeParametersOfSymbol(t,r)}if(524288&u){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(134));s.push(e.spacePart());addFullSymbolName(t);writeTypeParametersOfSymbol(t,r);s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());e.addRange(s,e.typeToDisplayParts(o,o.getDeclaredTypeOfSymbol(t),n))}if(384&u){addNewLineIfDisplayPartsExist();if(e.forEach(t.declarations,e.isConstEnumDeclaration)){s.push(e.keywordPart(74));s.push(e.spacePart())}s.push(e.keywordPart(81));s.push(e.spacePart());addFullSymbolName(t)}if(1536&u){addNewLineIfDisplayPartsExist();var x=e.getDeclarationOfKind(t,225);var C=x&&x.name&&69===x.name.kind;s.push(e.keywordPart(C?126:125));s.push(e.spacePart());addFullSymbolName(t)}if(262144&u&&2&i){addNewLineIfDisplayPartsExist();s.push(e.punctuationPart(17));s.push(e.textPart("type parameter"));s.push(e.punctuationPart(18));s.push(e.spacePart());addFullSymbolName(t);s.push(e.spacePart());s.push(e.keywordPart(90));s.push(e.spacePart());if(t.parent){addFullSymbolName(t.parent,n);writeTypeParametersOfSymbol(t.parent,n)}else{var x=e.getDeclarationOfKind(t,141);e.Debug.assert(void 0!==x);x=x.parent;if(x)if(e.isFunctionLikeKind(x.kind)){var g=o.getSignatureFromDeclaration(x);if(152===x.kind){s.push(e.keywordPart(92));s.push(e.spacePart())}else 151!==x.kind&&x.name&&addFullSymbolName(x.symbol);e.addRange(s,e.signatureToDisplayParts(o,g,r,32))}else{s.push(e.keywordPart(134));s.push(e.spacePart());addFullSymbolName(x.symbol);writeTypeParametersOfSymbol(x.symbol,r)}}}if(8&u){addPrefixForAnyFunctionOrVar(t,"enum member");var x=t.declarations[0];if(255===x.kind){var D=o.getConstantValue(x);if(void 0!==D){s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());s.push(e.displayPart(D.toString(),f.numericLiteral))}}}if(8388608&u){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(89));s.push(e.spacePart());addFullSymbolName(t);e.forEach(t.declarations,(function(t){if(229===t.kind){var r=t;if(e.isExternalModuleImportEqualsDeclaration(r)){s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());s.push(e.keywordPart(129));s.push(e.punctuationPart(17));s.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),f.stringLiteral));s.push(e.punctuationPart(18))}else{var a=o.getSymbolAtLocation(r.moduleReference);if(a){s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());addFullSymbolName(a,n)}}return true}}))}if(!d)if(_!==b.unknown){if(m){if(p){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(97))}else addPrefixForAnyFunctionOrVar(t,_);if(_===b.memberVariableElement||3&u||_===b.localVariableElement||p){s.push(e.punctuationPart(54));s.push(e.spacePart());if(m.symbol&&262144&m.symbol.flags){var E=e.mapToDisplayParts((function(e){o.getSymbolDisplayBuilder().buildTypeParameterDisplay(m,e,n)}));e.addRange(s,E)}else e.addRange(s,e.typeToDisplayParts(o,m,n))}else if(16&u||8192&u||16384&u||131072&u||98304&u||_===b.memberFunctionElement){var k=m.getNonNullableType().getCallSignatures();addSignatureDisplayParts(k[0],k)}}}else _=getSymbolKind(t,a);l||(l=t.getDocumentationComment());return{displayParts:s,documentation:l,symbolKind:_};function addNewLineIfDisplayPartsExist(){s.length&&s.push(e.lineBreakPart())}function addFullSymbolName(t,n){var a=e.symbolToDisplayParts(o,t,n||r,void 0,1|2);e.addRange(s,a)}function addPrefixForAnyFunctionOrVar(t,r){addNewLineIfDisplayPartsExist();if(r){pushTypePart(r);s.push(e.spacePart());addFullSymbolName(t)}}function pushTypePart(t){switch(t){case b.variableElement:case b.functionElement:case b.letElement:case b.constElement:case b.constructorImplementationElement:s.push(e.textOrKeywordPart(t));return;default:s.push(e.punctuationPart(17));s.push(e.textOrKeywordPart(t));s.push(e.punctuationPart(18));return}}function addSignatureDisplayParts(t,r,a){e.addRange(s,e.signatureToDisplayParts(o,t,n,32|a));if(r.length>1){s.push(e.spacePart());s.push(e.punctuationPart(17));s.push(e.operatorPart(35));s.push(e.displayPart((r.length-1).toString(),f.numericLiteral));s.push(e.spacePart());s.push(e.textPart(2===r.length?"overload":"overloads"));s.push(e.punctuationPart(18))}l=t.getDocumentationComment()}function writeTypeParametersOfSymbol(t,r){var n=e.mapToDisplayParts((function(e){o.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(t,e,r)}));e.addRange(s,n)}}function getQuickInfoAtPosition(t,r){synchronizeHostData();var n=getValidSourceFile(t);var a=e.getTouchingPropertyName(n,r);if(a!==n&&!isLabelName(a)){var i=c.getTypeChecker();var o=i.getSymbolAtLocation(a);if(o&&!i.isUnknownSymbol(o)){var s=getSymbolDisplayPartsDocumentationAndSymbolKind(o,n,getContainerNode(a),a);return{kind:s.symbolKind,kindModifiers:getSymbolModifiers(o),textSpan:e.createTextSpan(a.getStart(),a.getWidth()),displayParts:s.displayParts,documentation:s.documentation}}switch(a.kind){case 69:case 172:case 139:case 97:case 165:case 95:var l=i.getTypeAtLocation(a);if(l)return{kind:b.unknown,kindModifiers:T.none,textSpan:e.createTextSpan(a.getStart(),a.getWidth()),displayParts:e.typeToDisplayParts(i,l,getContainerNode(a)),documentation:l.symbol?l.symbol.getDocumentationComment():void 0}}}}function createDefinitionInfo(t,r,n,a){return{fileName:t.getSourceFile().fileName,textSpan:e.createTextSpanFromBounds(t.getStart(),t.getEnd()),kind:r,name:n,containerKind:void 0,containerName:a}}function getDefinitionFromSymbol(t,r){var n=c.getTypeChecker();var a=[];var i=t.getDeclarations();var o=n.symbolToString(t);var s=getSymbolKind(t,r);var l=t.parent;var u=l?n.symbolToString(l,r):"";tryAddConstructSignature(t,r,s,o,u,a)||tryAddCallSignature(t,r,s,o,u,a)||e.forEach(i,(function(e){a.push(createDefinitionInfo(e,s,o,u))}));return a;function tryAddConstructSignature(t,r,n,a,i,o){if((isNewExpressionTarget(r)||121===r.kind)&&32&t.flags){for(var s=0,c=t.getDeclarations();s=0;a--)if(pushKeywordIf(r,n[a],104))break}var i=aggregateAllBreakAndContinueStatements(t.statement);e.forEach(i,(function(e){ownsBreakOrContinueStatement(t,e)&&pushKeywordIf(r,e.getFirstToken(),70,75)}));return e.map(r,getHighlightSpanForNode)}function getBreakOrContinueStatementOccurrences(e){var t=getBreakOrContinueOwner(e);if(t)switch(t.kind){case 206:case 207:case 208:case 204:case 205:return getLoopBreakContinueOccurrences(t);case 213:return getSwitchCaseDefaultOccurrences(t)}}function getSwitchCaseDefaultOccurrences(t){var r=[];pushKeywordIf(r,t.getFirstToken(),96);e.forEach(t.caseBlock.clauses,(function(n){pushKeywordIf(r,n.getFirstToken(),71,77);var a=aggregateAllBreakAndContinueStatements(n);e.forEach(a,(function(e){ownsBreakOrContinueStatement(t,e)&&pushKeywordIf(r,e.getFirstToken(),70)}))}));return e.map(r,getHighlightSpanForNode)}function getTryCatchFinallyOccurrences(t){var r=[];pushKeywordIf(r,t.getFirstToken(),100);t.catchClause&&pushKeywordIf(r,t.catchClause.getFirstToken(),72);if(t.finallyBlock){var n=e.findChildOfKind(t,85,i);pushKeywordIf(r,n,85)}return e.map(r,getHighlightSpanForNode)}function getThrowOccurrences(t){var r=getThrowStatementOwner(t);if(r){var n=[];e.forEach(aggregateOwnedThrowStatements(r),(function(e){pushKeywordIf(n,e.getFirstToken(),98)}));e.isFunctionBlock(r)&&e.forEachReturnStatement(r,(function(e){pushKeywordIf(n,e.getFirstToken(),94)}));return e.map(n,getHighlightSpanForNode)}}function getReturnOccurrences(t){var r=e.getContainingFunction(t);if(r&&hasKind(r.body,199)){var n=[];e.forEachReturnStatement(r.body,(function(e){pushKeywordIf(n,e.getFirstToken(),94)}));e.forEach(aggregateOwnedThrowStatements(r.body),(function(e){pushKeywordIf(n,e.getFirstToken(),98)}));return e.map(n,getHighlightSpanForNode)}}function getIfElseOccurrences(t){var n=[];while(hasKind(t.parent,203)&&t.parent.elseStatement===t)t=t.parent;while(t){var a=t.getChildren();pushKeywordIf(n,a[0],88);for(var o=a.length-1;o>=0;o--)if(pushKeywordIf(n,a[o],80))break;if(!hasKind(t.elseStatement,203))break;t=t.elseStatement}var s=[];for(var o=0;o=c.end;_--)if(!e.isWhiteSpaceSingleLine(i.text.charCodeAt(_))){u=false;break}if(u){s.push({fileName:r,textSpan:e.createTextSpanFromBounds(c.getStart(),l.end),kind:m.reference});o++;continue}}s.push(getHighlightSpanForNode(n[o]))}return s}}}function getOccurrencesAtPositionCore(e,t){synchronizeHostData();return convertDocumentHighlights(getDocumentHighlights(e,t,[e]));function convertDocumentHighlights(e){if(e){var t=[];for(var r=0,n=e;r=0){_.throwIfCancellationRequested();if(l>a)break;var u=l+c;0!==l&&e.isIdentifierPart(o.charCodeAt(l-1),2)||u!==s&&e.isIdentifierPart(o.charCodeAt(u),2)||i.push(l);l=o.indexOf(r,l+c+1)}return i}function getLabelReferencesInNode(t,r){var n=[];var a=t.getSourceFile();var i=r.text;var o=getPossibleSymbolReferencePositions(a,i,t.getStart(),t.getEnd());e.forEach(o,(function(t){_.throwIfCancellationRequested();var o=e.getTouchingWord(a,t);o&&o.getWidth()===i.length&&(o===r||isJumpStatementTarget(o)&&getTargetLabel(o,i)===r)&&n.push(getReferenceEntryFromNode(o))}));var s={containerKind:"",containerName:"",fileName:r.getSourceFile().fileName,kind:b.label,name:i,textSpan:e.createTextSpanFromBounds(r.getStart(),r.getEnd())};return[{definition:s,references:n}]}function isValidReferencePosition(e,t){if(e)switch(e.kind){case 69:return e.getWidth()===t.length;case 9:if(isLiteralNameOfPropertyDeclarationOrIndexAccess(e)||isNameOfExternalModuleImportOrDeclaration(e))return e.getWidth()===t.length+2;break;case 8:if(isLiteralNameOfPropertyDeclarationOrIndexAccess(e))return e.getWidth()===t.length;break}return false}function getReferencesInNode(t,r,n,a,o,s,c,l,u){var d=t.getSourceFile();var p=/^\/\/\/\s*=0){var g=getReferencedSymbol(p);g.references.push(getReferenceEntryFromNode(u.name))}}}}else(s&&e.isInString(d,t)||c&&isInNonReferenceComment(d,t))&&l.push({definition:void 0,references:[{fileName:d.fileName,textSpan:e.createTextSpan(t,n.length),isWriteAccess:false,isDefinition:false}]})}))}return;function getReferencedSymbol(t){var r=e.getSymbolId(t);var n=u[r];if(void 0===n){n=l.length;u[r]=n;l.push({definition:getDefinition(t),references:[]})}return l[n]}function isInNonReferenceComment(t,r){return e.isInCommentHelper(t,r,isNonReferenceComment);function isNonReferenceComment(e){var r=t.text.substring(e.pos,e.end);return!p.test(r)}}}function getReferencesForSuperKeyword(t){var r=e.getSuperContainer(t,false);if(r){var n=32;switch(r.kind){case 145:case 144:case 147:case 146:case 148:case 149:case 150:n&=r.flags;r=r.parent;break;default:return}var a=[];var i=r.getSourceFile();var o=getPossibleSymbolReferencePositions(i,"super",r.getStart(),r.getEnd());e.forEach(o,(function(t){_.throwIfCancellationRequested();var o=e.getTouchingWord(i,t);if(o&&95===o.kind){var s=e.getSuperContainer(o,false);s&&(32&s.flags)===n&&s.parent.symbol===r.symbol&&a.push(getReferenceEntryFromNode(o))}}));var s=getDefinition(r.symbol);return[{definition:s,references:a}]}}function getReferencesForThisKeyword(r,n){var a=e.getThisContainer(r,false);var i=32;switch(a.kind){case 147:case 146:if(e.isObjectLiteralMethod(a))break;case 145:case 144:case 148:case 149:case 150:i&=a.flags;a=a.parent;break;case 256:if(e.isExternalModule(a))return;case 220:case 179:break;default:return}var o=[];var s;if(256===a.kind)e.forEach(n,(function(e){s=getPossibleSymbolReferencePositions(e,"this",e.getStart(),e.getEnd());getThisReferencesInFile(e,e,s,o)}));else{var c=a.getSourceFile();s=getPossibleSymbolReferencePositions(c,"this",a.getStart(),a.getEnd());getThisReferencesInFile(c,a,s,o)}return[{definition:{containerKind:"",containerName:"",fileName:t.getSourceFile().fileName,kind:b.variableElement,name:"this",textSpan:e.createTextSpanFromBounds(t.getStart(),t.getEnd())},references:o}];function getThisReferencesInFile(t,r,n,a){e.forEach(n,(function(n){_.throwIfCancellationRequested();var o=e.getTouchingWord(t,n);if(o&&isThis(o)){var s=e.getThisContainer(o,false);switch(r.kind){case 179:case 220:r.symbol===s.symbol&&a.push(getReferenceEntryFromNode(o));break;case 147:case 146:e.isObjectLiteralMethod(r)&&r.symbol===s.symbol&&a.push(getReferenceEntryFromNode(o));break;case 192:case 221:s.parent&&r.symbol===s.parent.symbol&&(32&s.flags)===i&&a.push(getReferenceEntryFromNode(o));break;case 256:256!==s.kind||e.isExternalModule(s)||a.push(getReferenceEntryFromNode(o));break}}}))}}function getReferencesForStringLiteral(t,r){var n=c.getTypeChecker();var a=getStringLiteralTypeForNode(t,n);if(a){var i=[];for(var o=0,s=r;o=0)return r;var a=getAliasSymbolForPropertyNameSymbol(r,n);if(a)return getRelatedSymbol(t,a,n);var o=getContainingObjectLiteralElement(n);if(o){var s=e.forEach(getPropertySymbolsFromContextualType(o),(function(r){return e.forEach(i.getRootSymbols(r),(function(e){return t.indexOf(e)>=0?e:void 0}))}));if(s)return s;var c=getPropertySymbolOfDestructuringAssignment(n);if(c&&t.indexOf(c)>=0)return c}var l=getPropertySymbolOfObjectBindingPatternWithoutPropertyName(r);return l&&t.indexOf(l)>=0?l:e.forEach(i.getRootSymbols(r),(function(r){if(t.indexOf(r)>=0)return r;if(r.parent&&r.parent.flags&(32|64)){var n=[];getPropertySymbolsFromBaseTypes(r.parent,r.getName(),n,{});return e.forEach(n,(function(e){return t.indexOf(e)>=0?e:void 0}))}}))}function getNameFromObjectLiteralElement(t){if(140===t.name.kind){var r=t.name.expression;return e.isStringOrNumericLiteral(r.kind)?r.text:void 0}return t.name.text}function getPropertySymbolsFromContextualType(t){var r=t.parent;var n=i.getContextualType(r);var a=getNameFromObjectLiteralElement(t);if(a&&n){var o=[];var s=n.getProperty(a);s&&o.push(s);16384&n.flags&&e.forEach(n.types,(function(e){var t=e.getProperty(a);t&&o.push(t)}));return o}}function getIntersectingMeaningFromDeclarations(e,t){if(t){var r=void 0;do{r=e;for(var n=0,a=t;n=0);if(a>0){var i=r||classifyTokenType(t.kind,t);i&&pushClassification(n,a,i)}return true}function tryClassifyJsxElementName(e){switch(e.parent&&e.parent.kind){case 243:if(e.parent.tagName===e)return 19;break;case 245:if(e.parent.tagName===e)return 20;break;case 242:if(e.parent.tagName===e)return 21;break;case 246:if(e.parent.name===e)return 22;break}}function classifyTokenType(t,r){if(e.isKeyword(t))return 3;if((25===t||27===t)&&r&&e.getTypeArgumentOrTypeParameterList(r.parent))return 10;if(e.isPunctuation(t)){if(r){if(56===t&&(218===r.parent.kind||145===r.parent.kind||142===r.parent.kind||246===r.parent.kind))return 5;if(187===r.parent.kind||185===r.parent.kind||186===r.parent.kind||188===r.parent.kind)return 5}return 10}if(8===t)return 4;if(9===t||166===t)return 246===r.parent.kind?24:6;if(10===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(244===t)return 23;if(69===t){if(r)switch(r.parent.kind){case 221:return r.parent.name===r?11:void 0;case 141:return r.parent.name===r?15:void 0;case 222:return r.parent.name===r?13:void 0;case 224:return r.parent.name===r?12:void 0;case 225:return r.parent.name===r?14:void 0;case 142:if(r.parent.name===r){var n=69===r.kind&&97===r.originalKeywordKind;return n?3:17}return}return 2}}function processElement(t){if(t&&e.decodedTextSpanIntersectsWith(a,o,t.pos,t.getFullWidth())){checkForClassificationCancellation(t.kind);var r=t.getChildren(n);for(var i=0,s=r.length;i0){var o=getTodoCommentsRegExp();var s=void 0;while(s=o.exec(a)){_.throwIfCancellationRequested();var c=3;e.Debug.assert(s.length===r.length+c);var l=s[1];var u=s.index+l.length;var d=e.getTokenAtPosition(n,u);if(isInsideComment(n,d,u)){var p=void 0;for(var m=0,g=r.length;m=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}}function getStringLiteralTypeForNode(e,t){var r=166===e.parent.kind?e.parent:e;var n=t.getTypeAtLocation(r);if(n&&256&n.flags)return n}function getRenameInfo(r,n){synchronizeHostData();var a=getValidSourceFile(r);var i=c.getTypeChecker();var o=t.getDefaultLibFileName(t.getCompilationSettings());var s=p(e.normalizePath(o));var l=e.getTouchingWord(a,n,true);if(l&&(69===l.kind||9===l.kind||isLiteralNameOfPropertyDeclarationOrIndexAccess(l)||isThis(l))){var u=i.getSymbolAtLocation(l);if(u){var _=u.getDeclarations();if(_&&_.length>0){if(e.forEach(_,isDefinedInLibraryFile))return getRenameInfoError(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library));var d=e.stripQuotes(e.getDeclaredName(i,u,l));var m=getSymbolKind(u,l);if(m)return{canRename:true,kind:m,displayName:d,localizedErrorMessage:void 0,fullDisplayName:i.getFullyQualifiedName(u),kindModifiers:getSymbolModifiers(u),triggerSpan:createTriggerSpanForNode(l,a)}}}else if(9===l.kind){var g=getStringLiteralTypeForNode(l,i);if(g){if(isDefinedInLibraryFile(l))return getRenameInfoError(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library));var d=e.stripQuotes(g.text);return{canRename:true,kind:b.variableElement,displayName:d,localizedErrorMessage:void 0,fullDisplayName:d,kindModifiers:T.none,triggerSpan:createTriggerSpanForNode(l,a)}}}}return getRenameInfoError(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_this_element));function getRenameInfoError(e){return{canRename:false,localizedErrorMessage:e,displayName:void 0,fullDisplayName:void 0,kind:void 0,kindModifiers:void 0,triggerSpan:void 0}}function isDefinedInLibraryFile(t){if(o){var r=t.getSourceFile();var n=p(e.normalizePath(r.fileName));if(n===s)return true}return false}function createTriggerSpanForNode(t,r){var n=t.getStart(r);var a=t.getWidth(r);if(9===t.kind){n+=1;a-=2}return e.createTextSpan(n,a)}}return{dispose:dispose,cleanupSemanticCache:cleanupSemanticCache,getSyntacticDiagnostics:getSyntacticDiagnostics,getSemanticDiagnostics:getSemanticDiagnostics,getCompilerOptionsDiagnostics:getCompilerOptionsDiagnostics,getSyntacticClassifications:getSyntacticClassifications,getSemanticClassifications:getSemanticClassifications,getEncodedSyntacticClassifications:getEncodedSyntacticClassifications,getEncodedSemanticClassifications:getEncodedSemanticClassifications,getCompletionsAtPosition:getCompletionsAtPosition,getCompletionEntryDetails:getCompletionEntryDetails,getSignatureHelpItems:getSignatureHelpItems,getQuickInfoAtPosition:getQuickInfoAtPosition,getDefinitionAtPosition:getDefinitionAtPosition,getTypeDefinitionAtPosition:getTypeDefinitionAtPosition,getReferencesAtPosition:getReferencesAtPosition,findReferences:findReferences,getOccurrencesAtPosition:getOccurrencesAtPosition,getDocumentHighlights:getDocumentHighlights,getNameOrDottedNameSpan:getNameOrDottedNameSpan,getBreakpointStatementAtPosition:getBreakpointStatementAtPosition,getNavigateToItems:getNavigateToItems,getRenameInfo:getRenameInfo,findRenameLocations:findRenameLocations,getNavigationBarItems:getNavigationBarItems,getOutliningSpans:getOutliningSpans,getTodoComments:getTodoComments,getBraceMatchingAtPosition:getBraceMatchingAtPosition,getIndentationAtPosition:getIndentationAtPosition,getFormattingEditsForRange:getFormattingEditsForRange,getFormattingEditsForDocument:getFormattingEditsForDocument,getFormattingEditsAfterKeystroke:getFormattingEditsAfterKeystroke,getDocCommentTemplateAtPosition:getDocCommentTemplateAtPosition,isValidBraceCompletionAtPosition:isValidBraceCompletionAtPosition,getEmitOutput:getEmitOutput,getNonBoundSourceFile:getNonBoundSourceFile,getProgram:getProgram}}e.createLanguageService=createLanguageService;function getNameTable(e){e.nameTable||initializeNameTable(e);return e.nameTable}e.getNameTable=getNameTable;function initializeNameTable(t){var r={};walk(t);t.nameTable=r;function walk(t){switch(t.kind){case 69:r[t.text]=void 0===r[t.text]?t.pos:-1;break;case 9:case 8:(e.isDeclarationName(t)||240===t.parent.kind||isArgumentOfElementAccessExpression(t)||e.isLiteralComputedPropertyDeclarationName(t))&&(r[t.text]=void 0===r[t.text]?t.pos:-1);break;default:e.forEachChild(t,walk);if(t.jsDocComments)for(var n=0,a=t.jsDocComments;n=0){var u=s-a;u>0&&r.push({length:u,classification:v.Whitespace})}r.push({length:c,classification:convertClassification(l)});a=s+c}var _=t.length-a;_>0&&r.push({length:_,classification:v.Whitespace});return{entries:r,finalLexState:e.endOfLineState}}function convertClassification(e){switch(e){case 1:return v.Comment;case 3:return v.Keyword;case 4:return v.NumberLiteral;case 5:return v.Operator;case 6:return v.StringLiteral;case 8:return v.Whitespace;case 10:return v.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:default:return v.Identifier}}function getClassificationsForLine(e,t,r){return convertClassifications(getEncodedLexicalClassifications(e,t,r),e)}function getEncodedLexicalClassifications(a,i,o){var s=0;var c=0;var l=0;while(n.length>0)n.pop();switch(i){case 3:a='"\\\n'+a;s=3;break;case 2:a="'\\\n"+a;s=3;break;case 1:a="/*\n"+a;s=3;break;case 4:a="`\n"+a;s=2;break;case 5:a="}\n"+a;s=2;case 6:n.push(12);break}t.setText(a);var u={endOfLineState:0,spans:[]};var _=0;do{c=t.scan();if(!e.isTrivia(c)){if(39!==c&&61!==c||r[l]){if(21===l&&isKeyword(c))c=69;else if(isKeyword(l)&&isKeyword(c)&&!canFollow(l,c))c=69;else if(69===l&&25===c)_++;else if(27===c&&_>0)_--;else if(117===c||132===c||130===c||120===c||133===c)_>0&&!o&&(c=69);else if(12===c)n.push(c);else if(15===c)n.length>0&&n.push(c);else if(16===c&&n.length>0){var d=e.lastOrUndefined(n);if(12===d){c=t.reScanTemplateToken();14===c?n.pop():e.Debug.assert(13===c,"Should have been a template middle. Was "+c)}else{e.Debug.assert(15===d,"Should have been an open brace. Was: "+c);n.pop()}}}else 10===t.reScanSlashToken()&&(c=10);l=c}processToken()}while(1!==c);return u;function processToken(){var r=t.getTokenPos();var i=t.getTextPos();addResult(r,i,classFromKind(c));if(i>=a.length)if(9===c||166===c){var o=t.getTokenText();if(t.isUnterminated()){var s=o.length-1;var l=0;while(92===o.charCodeAt(s-l))l++;if(1&l){var _=o.charCodeAt(0);u.endOfLineState=34===_?3:2}}}else 3===c?t.isUnterminated()&&(u.endOfLineState=1):e.isTemplateLiteralKind(c)?t.isUnterminated()&&(14===c?u.endOfLineState=5:11===c?u.endOfLineState=4:e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+c)):n.length>0&&12===e.lastOrUndefined(n)&&(u.endOfLineState=6)}function addResult(e,t,r){if(8!==r){0===e&&s>0&&(e+=s);e-=s;t-=s;var n=t-e;if(n>0){u.spans.push(e);u.spans.push(n);u.spans.push(r)}}}}function isBinaryExpressionOperatorToken(e){switch(e){case 37:case 39:case 40:case 35:case 36:case 43:case 44:case 45:case 25:case 27:case 28:case 29:case 91:case 90:case 116:case 30:case 31:case 32:case 33:case 46:case 48:case 47:case 51:case 52:case 67:case 66:case 68:case 63:case 64:case 65:case 57:case 58:case 59:case 61:case 62:case 56:case 24:return true;default:return false}}function isPrefixUnaryExpressionOperatorToken(e){switch(e){case 35:case 36:case 50:case 49:case 41:case 42:return true;default:return false}}function isKeyword(e){return e>=70&&e<=138}function classFromKind(t){if(isKeyword(t))return 3;if(isBinaryExpressionOperatorToken(t)||isPrefixUnaryExpressionOperatorToken(t))return 5;if(t>=15&&t<=68)return 10;switch(t){case 8:return 4;case 9:case 166:return 6;case 10:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 69:default:return e.isTemplateLiteralKind(t)?6:2}}return{getClassificationsForLine:getClassificationsForLine,getEncodedLexicalClassifications:getEncodedLexicalClassifications}}e.createClassifier=createClassifier;function getDefaultLibFilePath(t){if("undefined"!==typeof new URL(import.meta.url.slice(0,import.meta.url.lastIndexOf("/"))).pathname)return new URL(import.meta.url.slice(0,import.meta.url.lastIndexOf("/"))).pathname+e.directorySeparator+e.getDefaultLibFileName(t);throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}e.getDefaultLibFilePath=getDefaultLibFilePath;function initializeServices(){e.objectAllocator={getNodeConstructor:function(){return s},getSourceFileConstructor:function(){return d},getSymbolConstructor:function(){return l},getTypeConstructor:function(){return u},getSignatureConstructor:function(){return _}}}initializeServices()})(l||(l={}));var l;(function(e){var t;(function(t){function spanInSourceFileAtLocation(t,r){if(!t.isDeclarationFile){var n=e.getTokenAtPosition(t,r);var a=t.getLineAndCharacterOfPosition(r).line;if(t.getLineAndCharacterOfPosition(n.getStart(t)).line>a){n=e.findPrecedingToken(n.pos,t);if(!n||t.getLineAndCharacterOfPosition(n.getEnd()).line!==a)return}if(!e.isInAmbientContext(n))return spanInNode(n)}function textSpan(r,n){var a=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(a,(n||r).getEnd())}function textSpanEndingAtNextToken(t,r){return textSpan(t,e.findNextToken(r,r.parent))}function spanInNodeIfStartsOnSameLine(e,r){return e&&a===t.getLineAndCharacterOfPosition(e.getStart(t)).line?spanInNode(e):spanInNode(r)}function spanInNodeArray(r){return e.createTextSpanFromBounds(e.skipTrivia(t.text,r.pos),r.end)}function spanInPreviousNode(r){return spanInNode(e.findPrecedingToken(r.pos,t))}function spanInNextNode(t){return spanInNode(e.findNextToken(t,t.parent))}function spanInNode(r){if(r)switch(r.kind){case 200:return spanInVariableDeclaration(r.declarationList.declarations[0]);case 218:case 145:case 144:return spanInVariableDeclaration(r);case 142:return spanInParameterDeclaration(r);case 220:case 147:case 146:case 149:case 150:case 148:case 179:case 180:return spanInFunctionDeclaration(r);case 199:if(e.isFunctionBlock(r))return spanInFunctionBlock(r);case 226:return spanInBlock(r);case 252:return spanInBlock(r.block);case 202:return textSpan(r.expression);case 211:return textSpan(r.getChildAt(0),r.expression);case 205:return textSpanEndingAtNextToken(r,r.expression);case 204:return spanInNode(r.statement);case 217:return textSpan(r.getChildAt(0));case 203:return textSpanEndingAtNextToken(r,r.expression);case 214:return spanInNode(r.statement);case 210:case 209:return textSpan(r.getChildAt(0),r.label);case 206:return spanInForStatement(r);case 207:return textSpanEndingAtNextToken(r,r.expression);case 208:return spanInInitializerOfForLike(r);case 213:return textSpanEndingAtNextToken(r,r.expression);case 249:case 250:return spanInNode(r.statements[0]);case 216:return spanInBlock(r.tryBlock);case 215:return textSpan(r,r.expression);case 235:return textSpan(r,r.expression);case 229:return textSpan(r,r.moduleReference);case 230:return textSpan(r,r.moduleSpecifier);case 236:return textSpan(r,r.moduleSpecifier);case 225:if(1!==e.getModuleInstanceState(r))return;case 221:case 224:case 255:case 169:return textSpan(r);case 212:return spanInNode(r.statement);case 143:return spanInNodeArray(r.parent.decorators);case 167:case 168:return spanInBindingPattern(r);case 222:case 223:return;case 23:case 1:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t));case 24:return spanInPreviousNode(r);case 15:return spanInOpenBraceToken(r);case 16:return spanInCloseBraceToken(r);case 20:return spanInCloseBracketToken(r);case 17:return spanInOpenParenToken(r);case 18:return spanInCloseParenToken(r);case 54:return spanInColonToken(r);case 27:case 25:return spanInGreaterThanOrLessThanToken(r);case 104:return spanInWhileKeyword(r);case 80:case 72:case 85:return spanInNextNode(r);case 138:return spanInOfKeyword(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return spanInArrayLiteralOrObjectLiteralDestructuringPattern(r);if((69===r.kind||191==r.kind||253===r.kind||254===r.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent))return textSpan(r);if(187===r.kind){var n=r;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.left))return spanInArrayLiteralOrObjectLiteralDestructuringPattern(n.left);if(56===n.operatorToken.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent))return textSpan(r);if(24===n.operatorToken.kind)return spanInNode(n.left)}if(e.isExpression(r))switch(r.parent.kind){case 204:return spanInPreviousNode(r);case 143:return spanInNode(r.parent);case 206:case 208:return textSpan(r);case 187:if(24===r.parent.operatorToken.kind)return textSpan(r);break;case 180:if(r.parent.body===r)return textSpan(r);break}if(253===r.parent.kind&&r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent))return spanInNode(r.parent.initializer);if(177===r.parent.kind&&r.parent.type===r)return spanInNextNode(r.parent.type);if(e.isFunctionLike(r.parent)&&r.parent.type===r)return spanInPreviousNode(r);if(218===r.parent.kind||142===r.parent.kind){var a=r.parent;if(a.initializer===r||a.type===r||e.isAssignmentOperator(r.kind))return spanInPreviousNode(r)}if(187===r.parent.kind){var n=r.parent;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.left)&&(n.right===r||n.operatorToken===r))return spanInPreviousNode(r)}return spanInNode(r.parent)}function textSpanFromVariableDeclaration(r){var n=r.parent.declarations;return n&&n[0]===r?textSpan(e.findPrecedingToken(r.pos,t,r.parent),r):textSpan(r)}function spanInVariableDeclaration(r){if(207===r.parent.parent.kind)return spanInNode(r.parent.parent);if(e.isBindingPattern(r.name))return spanInBindingPattern(r.name);if(r.initializer||1&r.flags||208===r.parent.parent.kind)return textSpanFromVariableDeclaration(r);var n=r.parent.declarations;return n&&n[0]!==r?spanInNode(e.findPrecedingToken(r.pos,t,r.parent)):void 0}function canHaveSpanInParameterDeclaration(e){return!!e.initializer||void 0!==e.dotDotDotToken||!!(4&e.flags)||!!(8&e.flags)}function spanInParameterDeclaration(t){if(e.isBindingPattern(t.name))return spanInBindingPattern(t.name);if(canHaveSpanInParameterDeclaration(t))return textSpan(t);var r=t.parent;var n=e.indexOf(r.parameters,t);return n?spanInParameterDeclaration(r.parameters[n-1]):spanInNode(r.body)}function canFunctionHaveSpanInWholeDeclaration(e){return!!(1&e.flags)||221===e.parent.kind&&148!==e.kind}function spanInFunctionDeclaration(e){if(e.body)return canFunctionHaveSpanInWholeDeclaration(e)?textSpan(e):spanInNode(e.body)}function spanInFunctionBlock(e){var t=e.statements.length?e.statements[0]:e.getLastToken();return canFunctionHaveSpanInWholeDeclaration(e.parent)?spanInNodeIfStartsOnSameLine(e.parent,t):spanInNode(t)}function spanInBlock(r){switch(r.parent.kind){case 225:if(1!==e.getModuleInstanceState(r.parent))return;case 205:case 203:case 207:return spanInNodeIfStartsOnSameLine(r.parent,r.statements[0]);case 206:case 208:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return spanInNode(r.statements[0])}function spanInInitializerOfForLike(e){if(219!==e.initializer.kind)return spanInNode(e.initializer);var t=e.initializer;return t.declarations.length>0?spanInNode(t.declarations[0]):void 0}function spanInForStatement(e){return e.initializer?spanInInitializerOfForLike(e):e.condition?textSpan(e.condition):e.incrementor?textSpan(e.incrementor):void 0}function spanInBindingPattern(t){var r=e.forEach(t.elements,(function(e){return 193!==e.kind?e:void 0}));return r?spanInNode(r):169===t.parent.kind?textSpan(t.parent):textSpanFromVariableDeclaration(t.parent)}function spanInArrayLiteralOrObjectLiteralDestructuringPattern(t){e.Debug.assert(168!==t.kind&&167!==t.kind);var r=170===t.kind?t.elements:t.properties;var n=e.forEach(r,(function(e){return 193!==e.kind?e:void 0}));return n?spanInNode(n):textSpan(187===t.parent.kind?t.parent:t)}function spanInOpenBraceToken(r){switch(r.parent.kind){case 224:var n=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 221:var a=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),a.members.length?a.members[0]:a.getLastToken(t));case 227:return spanInNodeIfStartsOnSameLine(r.parent.parent,r.parent.clauses[0])}return spanInNode(r.parent)}function spanInCloseBraceToken(t){switch(t.parent.kind){case 226:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 224:case 221:return textSpan(t);case 199:if(e.isFunctionBlock(t.parent))return textSpan(t);case 252:return spanInNode(e.lastOrUndefined(t.parent.statements));case 227:var r=t.parent;var n=e.lastOrUndefined(r.clauses);return n?spanInNode(e.lastOrUndefined(n.statements)):void 0;case 167:var a=t.parent;return spanInNode(e.lastOrUndefined(a.elements)||a);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var i=t.parent;return textSpan(e.lastOrUndefined(i.properties)||i)}return spanInNode(t.parent)}}function spanInCloseBracketToken(t){switch(t.parent.kind){case 168:var r=t.parent;return textSpan(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return textSpan(e.lastOrUndefined(n.elements)||n)}return spanInNode(t.parent)}}function spanInOpenParenToken(e){return 204===e.parent.kind||174===e.parent.kind||175===e.parent.kind?spanInPreviousNode(e):178===e.parent.kind?spanInNextNode(e):spanInNode(e.parent)}function spanInCloseParenToken(e){switch(e.parent.kind){case 179:case 220:case 180:case 147:case 146:case 149:case 150:case 148:case 205:case 204:case 206:case 208:case 174:case 175:case 178:return spanInPreviousNode(e);default:return spanInNode(e.parent)}}function spanInColonToken(t){return e.isFunctionLike(t.parent)||253===t.parent.kind||142===t.parent.kind?spanInPreviousNode(t):spanInNode(t.parent)}function spanInGreaterThanOrLessThanToken(e){return 177===e.parent.kind?spanInNextNode(e):spanInNode(e.parent)}function spanInWhileKeyword(e){return 204===e.parent.kind?textSpanEndingAtNextToken(e,e.parent.expression):spanInNode(e.parent)}function spanInOfKeyword(e){return 208===e.parent.kind?spanInNextNode(e):spanInNode(e.parent)}}}t.spanInSourceFileAtLocation=spanInSourceFileAtLocation})(t=e.BreakpointResolver||(e.BreakpointResolver={}))})(l||(l={}));var u=o;var l;(function(e){function logInternalError(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}var t=function(){function ScriptSnapshotShimAdapter(e){(this||i).scriptSnapshotShim=e}ScriptSnapshotShimAdapter.prototype.getText=function(e,t){return(this||i).scriptSnapshotShim.getText(e,t)};ScriptSnapshotShimAdapter.prototype.getLength=function(){return(this||i).scriptSnapshotShim.getLength()};ScriptSnapshotShimAdapter.prototype.getChangeRange=function(t){var r=t;var n=(this||i).scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(null==n)return null;var a=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(a.span.start,a.span.length),a.newLength)};ScriptSnapshotShimAdapter.prototype.dispose=function(){"dispose"in(this||i).scriptSnapshotShim&&(this||i).scriptSnapshotShim.dispose()};return ScriptSnapshotShimAdapter}();var r=function(){function LanguageServiceShimHostAdapter(t){var r=this||i;(this||i).shimHost=t;(this||i).loggingEnabled=false;(this||i).tracingEnabled=false;"getModuleResolutionsForFile"in(this||i).shimHost&&((this||i).resolveModuleNames=function(t,n){var a=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return e.map(t,(function(t){var r=e.lookUp(a,t);return r?{resolvedFileName:r}:void 0}))});"directoryExists"in(this||i).shimHost&&((this||i).directoryExists=function(e){return r.shimHost.directoryExists(e)});"getTypeReferenceDirectiveResolutionsForFile"in(this||i).shimHost&&((this||i).resolveTypeReferenceDirectives=function(t,n){var a=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return e.map(t,(function(t){return e.lookUp(a,t)}))})}LanguageServiceShimHostAdapter.prototype.log=function(e){(this||i).loggingEnabled&&(this||i).shimHost.log(e)};LanguageServiceShimHostAdapter.prototype.trace=function(e){(this||i).tracingEnabled&&(this||i).shimHost.trace(e)};LanguageServiceShimHostAdapter.prototype.error=function(e){(this||i).shimHost.error(e)};LanguageServiceShimHostAdapter.prototype.getProjectVersion=function(){if((this||i).shimHost.getProjectVersion)return(this||i).shimHost.getProjectVersion()};LanguageServiceShimHostAdapter.prototype.useCaseSensitiveFileNames=function(){return!!(this||i).shimHost.useCaseSensitiveFileNames&&(this||i).shimHost.useCaseSensitiveFileNames()};LanguageServiceShimHostAdapter.prototype.getCompilationSettings=function(){var e=(this||i).shimHost.getCompilationSettings();if(null==e||""==e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");return JSON.parse(e)};LanguageServiceShimHostAdapter.prototype.getScriptFileNames=function(){var e=(this||i).shimHost.getScriptFileNames();return(this||i).files=JSON.parse(e)};LanguageServiceShimHostAdapter.prototype.getScriptSnapshot=function(e){var r=(this||i).shimHost.getScriptSnapshot(e);return r&&new t(r)};LanguageServiceShimHostAdapter.prototype.getScriptKind=function(e){return"getScriptKind"in(this||i).shimHost?(this||i).shimHost.getScriptKind(e):0};LanguageServiceShimHostAdapter.prototype.getScriptVersion=function(e){return(this||i).shimHost.getScriptVersion(e)};LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages=function(){var e=(this||i).shimHost.getLocalizedDiagnosticMessages();if(null==e||""==e)return null;try{return JSON.parse(e)}catch(e){this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format");return null}};LanguageServiceShimHostAdapter.prototype.getCancellationToken=function(){var e=(this||i).shimHost.getCancellationToken();return new n(e)};LanguageServiceShimHostAdapter.prototype.getCurrentDirectory=function(){return(this||i).shimHost.getCurrentDirectory()};LanguageServiceShimHostAdapter.prototype.getDirectories=function(e){return JSON.parse((this||i).shimHost.getDirectories(e))};LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName=function(e){return(this||i).shimHost.getDefaultLibFileName(JSON.stringify(e))};return LanguageServiceShimHostAdapter}();e.LanguageServiceShimHostAdapter=r;var n=function(){function ThrottledCancellationToken(e){(this||i).hostCancellationToken=e;(this||i).lastCancellationCheckTime=0}ThrottledCancellationToken.prototype.isCancellationRequested=function(){var e=Date.now();var t=Math.abs(e-(this||i).lastCancellationCheckTime);if(t>10){(this||i).lastCancellationCheckTime=e;return(this||i).hostCancellationToken.isCancellationRequested()}return false};return ThrottledCancellationToken}();var a=function(){function CoreServicesShimHostAdapter(e){var t=this||i;(this||i).shimHost=e;(this||i).useCaseSensitiveFileNames=!!(this||i).shimHost.useCaseSensitiveFileNames&&(this||i).shimHost.useCaseSensitiveFileNames();"directoryExists"in(this||i).shimHost&&((this||i).directoryExists=function(e){return t.shimHost.directoryExists(e)});"realpath"in(this||i).shimHost&&((this||i).realpath=function(e){return t.shimHost.realpath(e)})}CoreServicesShimHostAdapter.prototype.readDirectory=function(t,r,n,a,o){try{var s=e.getFileMatcherPatterns(t,r,n,a,(this||i).shimHost.useCaseSensitiveFileNames(),(this||i).shimHost.getCurrentDirectory());return JSON.parse((this||i).shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(s.basePaths),s.excludePattern,s.includeFilePattern,s.includeDirectoryPattern,o))}catch(a){var c=[];for(var l=0,u=r;l128&&(s=s.substring(0,128)+"...");e.log(" result.length="+s.length+", result='"+JSON.stringify(s)+"'")}}return i}function forwardJSONCall(e,t,r,n){return forwardCall(e,t,true,r,n)}function forwardCall(t,r,n,a,i){try{var o=simpleForwardCall(t,r,a,i);return n?JSON.stringify({result:o}):o}catch(n){if(n instanceof e.OperationCanceledException)return JSON.stringify({canceled:true});logInternalError(t,n);n.description=r;return JSON.stringify({error:n})}}var s=function(){function ShimBase(e){(this||i).factory=e;e.registerShim(this||i)}ShimBase.prototype.dispose=function(e){(this||i).factory.unregisterShim(this||i)};return ShimBase}();function realizeDiagnostics(e,t){return e.map((function(e){return realizeDiagnostic(e,t)}))}e.realizeDiagnostics=realizeDiagnostics;function realizeDiagnostic(t,r){return{message:e.flattenDiagnosticMessageText(t.messageText,r),start:t.start,length:t.length,category:e.DiagnosticCategory[t.category].toLowerCase(),code:t.code}}var l=function(t){c(LanguageServiceShimObject,t);function LanguageServiceShimObject(e,r,n){t.call(this||i,e);(this||i).host=r;(this||i).languageService=n;(this||i).logPerformance=false;(this||i).logger=(this||i).host}LanguageServiceShimObject.prototype.forwardJSONCall=function(e,t){return forwardJSONCall((this||i).logger,e,t,(this||i).logPerformance)};LanguageServiceShimObject.prototype.dispose=function(e){(this||i).logger.log("dispose()");(this||i).languageService.dispose();(this||i).languageService=null;if(u&&u.CollectGarbage){u.CollectGarbage();(this||i).logger.log("CollectGarbage()")}(this||i).logger=null;t.prototype.dispose.call(this||i,e)};LanguageServiceShimObject.prototype.refresh=function(e){this.forwardJSONCall("refresh("+e+")",(function(){return null}))};LanguageServiceShimObject.prototype.cleanupSemanticCache=function(){var e=this||i;this.forwardJSONCall("cleanupSemanticCache()",(function(){e.languageService.cleanupSemanticCache();return null}))};LanguageServiceShimObject.prototype.realizeDiagnostics=function(t){var r=e.getNewLineOrDefaultFromHost((this||i).host);return e.realizeDiagnostics(t,r)};LanguageServiceShimObject.prototype.getSyntacticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return a.languageService.getSyntacticClassifications(t,e.createTextSpan(r,n))}))};LanguageServiceShimObject.prototype.getSemanticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return a.languageService.getSemanticClassifications(t,e.createTextSpan(r,n))}))};LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getEncodedSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return convertClassifications(a.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(r,n)))}))};LanguageServiceShimObject.prototype.getEncodedSemanticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getEncodedSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return convertClassifications(a.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(r,n)))}))};LanguageServiceShimObject.prototype.getSyntacticDiagnostics=function(e){var t=this||i;return this.forwardJSONCall("getSyntacticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)}))};LanguageServiceShimObject.prototype.getSemanticDiagnostics=function(e){var t=this||i;return this.forwardJSONCall("getSemanticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)}))};LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics=function(){var e=this||i;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",(function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)}))};LanguageServiceShimObject.prototype.getQuickInfoAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getQuickInfoAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getQuickInfoAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this||i;return this.forwardJSONCall("getNameOrDottedNameSpan('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)}))};LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getBreakpointStatementAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBreakpointStatementAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getSignatureHelpItems=function(e,t){var r=this||i;return this.forwardJSONCall("getSignatureHelpItems('"+e+"', "+t+")",(function(){return r.languageService.getSignatureHelpItems(e,t)}))};LanguageServiceShimObject.prototype.getDefinitionAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getDefinitionAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getTypeDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getTypeDefinitionAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getRenameInfo=function(e,t){var r=this||i;return this.forwardJSONCall("getRenameInfo('"+e+"', "+t+")",(function(){return r.languageService.getRenameInfo(e,t)}))};LanguageServiceShimObject.prototype.findRenameLocations=function(e,t,r,n){var a=this||i;return this.forwardJSONCall("findRenameLocations('"+e+"', "+t+", "+r+", "+n+")",(function(){return a.languageService.findRenameLocations(e,t,r,n)}))};LanguageServiceShimObject.prototype.getBraceMatchingAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getBraceMatchingAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBraceMatchingAtPosition(e,t)}))};LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this||i;return this.forwardJSONCall("isValidBraceCompletionAtPosition('"+e+"', "+t+", "+r+")",(function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)}))};LanguageServiceShimObject.prototype.getIndentationAtPosition=function(e,t,r){var n=this||i;return this.forwardJSONCall("getIndentationAtPosition('"+e+"', "+t+")",(function(){var a=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,a)}))};LanguageServiceShimObject.prototype.getReferencesAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getReferencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getReferencesAtPosition(e,t)}))};LanguageServiceShimObject.prototype.findReferences=function(e,t){var r=this||i;return this.forwardJSONCall("findReferences('"+e+"', "+t+")",(function(){return r.languageService.findReferences(e,t)}))};LanguageServiceShimObject.prototype.getOccurrencesAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getOccurrencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getOccurrencesAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getDocumentHighlights=function(t,r,n){var a=this||i;return this.forwardJSONCall("getDocumentHighlights('"+t+"', "+r+")",(function(){var i=a.languageService.getDocumentHighlights(t,r,JSON.parse(n));var o=e.normalizeSlashes(t).toLowerCase();return e.filter(i,(function(t){return e.normalizeSlashes(t.fileName).toLowerCase()===o}))}))};LanguageServiceShimObject.prototype.getCompletionsAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getCompletionsAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getCompletionsAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getCompletionEntryDetails=function(e,t,r){var n=this||i;return this.forwardJSONCall("getCompletionEntryDetails('"+e+"', "+t+", '"+r+"')",(function(){return n.languageService.getCompletionEntryDetails(e,t,r)}))};LanguageServiceShimObject.prototype.getFormattingEditsForRange=function(e,t,r,n){var a=this||i;return this.forwardJSONCall("getFormattingEditsForRange('"+e+"', "+t+", "+r+")",(function(){var i=JSON.parse(n);return a.languageService.getFormattingEditsForRange(e,t,r,i)}))};LanguageServiceShimObject.prototype.getFormattingEditsForDocument=function(e,t){var r=this||i;return this.forwardJSONCall("getFormattingEditsForDocument('"+e+"')",(function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)}))};LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var a=this||i;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('"+e+"', "+t+", '"+r+"')",(function(){var i=JSON.parse(n);return a.languageService.getFormattingEditsAfterKeystroke(e,t,r,i)}))};LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getDocCommentTemplateAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getDocCommentTemplateAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getNavigateToItems=function(e,t){var r=this||i;return this.forwardJSONCall("getNavigateToItems('"+e+"', "+t+")",(function(){return r.languageService.getNavigateToItems(e,t)}))};LanguageServiceShimObject.prototype.getNavigationBarItems=function(e){var t=this||i;return this.forwardJSONCall("getNavigationBarItems('"+e+"')",(function(){return t.languageService.getNavigationBarItems(e)}))};LanguageServiceShimObject.prototype.getOutliningSpans=function(e){var t=this||i;return this.forwardJSONCall("getOutliningSpans('"+e+"')",(function(){return t.languageService.getOutliningSpans(e)}))};LanguageServiceShimObject.prototype.getTodoComments=function(e,t){var r=this||i;return this.forwardJSONCall("getTodoComments('"+e+"')",(function(){return r.languageService.getTodoComments(e,JSON.parse(t))}))};LanguageServiceShimObject.prototype.getEmitOutput=function(e){var t=this||i;return this.forwardJSONCall("getEmitOutput('"+e+"')",(function(){return t.languageService.getEmitOutput(e)}))};LanguageServiceShimObject.prototype.getEmitOutputObject=function(e){var t=this||i;return forwardCall((this||i).logger,"getEmitOutput('"+e+"')",false,(function(){return t.languageService.getEmitOutput(e)}),(this||i).logPerformance)};return LanguageServiceShimObject}(s);function convertClassifications(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var _=function(t){c(ClassifierShimObject,t);function ClassifierShimObject(r,n){t.call(this||i,r);(this||i).logger=n;(this||i).logPerformance=false;(this||i).classifier=e.createClassifier()}ClassifierShimObject.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this||i;return forwardJSONCall((this||i).logger,"getEncodedLexicalClassifications",(function(){return convertClassifications(n.classifier.getEncodedLexicalClassifications(e,t,r))}),(this||i).logPerformance)};ClassifierShimObject.prototype.getClassificationsForLine=function(e,t,r){var n=(this||i).classifier.getClassificationsForLine(e,t,r);var a="";for(var o=0,s=n.entries;o Date: Sun, 7 Mar 2021 14:06:18 +0200 Subject: [PATCH 2/3] fixup --- test/samples/typescript.min.js | 3 --- 1 file changed, 3 deletions(-) delete mode 100755 test/samples/typescript.min.js diff --git a/test/samples/typescript.min.js b/test/samples/typescript.min.js deleted file mode 100755 index 3a2654d..0000000 --- a/test/samples/typescript.min.js +++ /dev/null @@ -1,3 +0,0 @@ -var i="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:global;var o={};var s=a;var c=o&&o.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){(this||i).constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)};var l;(function(e){(function(e){e[e["Unknown"]=0]="Unknown";e[e["EndOfFileToken"]=1]="EndOfFileToken";e[e["SingleLineCommentTrivia"]=2]="SingleLineCommentTrivia";e[e["MultiLineCommentTrivia"]=3]="MultiLineCommentTrivia";e[e["NewLineTrivia"]=4]="NewLineTrivia";e[e["WhitespaceTrivia"]=5]="WhitespaceTrivia";e[e["ShebangTrivia"]=6]="ShebangTrivia";e[e["ConflictMarkerTrivia"]=7]="ConflictMarkerTrivia";e[e["NumericLiteral"]=8]="NumericLiteral";e[e["StringLiteral"]=9]="StringLiteral";e[e["RegularExpressionLiteral"]=10]="RegularExpressionLiteral";e[e["NoSubstitutionTemplateLiteral"]=11]="NoSubstitutionTemplateLiteral";e[e["TemplateHead"]=12]="TemplateHead";e[e["TemplateMiddle"]=13]="TemplateMiddle";e[e["TemplateTail"]=14]="TemplateTail";e[e["OpenBraceToken"]=15]="OpenBraceToken";e[e["CloseBraceToken"]=16]="CloseBraceToken";e[e["OpenParenToken"]=17]="OpenParenToken";e[e["CloseParenToken"]=18]="CloseParenToken";e[e["OpenBracketToken"]=19]="OpenBracketToken";e[e["CloseBracketToken"]=20]="CloseBracketToken";e[e["DotToken"]=21]="DotToken";e[e["DotDotDotToken"]=22]="DotDotDotToken";e[e["SemicolonToken"]=23]="SemicolonToken";e[e["CommaToken"]=24]="CommaToken";e[e["LessThanToken"]=25]="LessThanToken";e[e["LessThanSlashToken"]=26]="LessThanSlashToken";e[e["GreaterThanToken"]=27]="GreaterThanToken";e[e["LessThanEqualsToken"]=28]="LessThanEqualsToken";e[e["GreaterThanEqualsToken"]=29]="GreaterThanEqualsToken";e[e["EqualsEqualsToken"]=30]="EqualsEqualsToken";e[e["ExclamationEqualsToken"]=31]="ExclamationEqualsToken";e[e["EqualsEqualsEqualsToken"]=32]="EqualsEqualsEqualsToken";e[e["ExclamationEqualsEqualsToken"]=33]="ExclamationEqualsEqualsToken";e[e["EqualsGreaterThanToken"]=34]="EqualsGreaterThanToken";e[e["PlusToken"]=35]="PlusToken";e[e["MinusToken"]=36]="MinusToken";e[e["AsteriskToken"]=37]="AsteriskToken";e[e["AsteriskAsteriskToken"]=38]="AsteriskAsteriskToken";e[e["SlashToken"]=39]="SlashToken";e[e["PercentToken"]=40]="PercentToken";e[e["PlusPlusToken"]=41]="PlusPlusToken";e[e["MinusMinusToken"]=42]="MinusMinusToken";e[e["LessThanLessThanToken"]=43]="LessThanLessThanToken";e[e["GreaterThanGreaterThanToken"]=44]="GreaterThanGreaterThanToken";e[e["GreaterThanGreaterThanGreaterThanToken"]=45]="GreaterThanGreaterThanGreaterThanToken";e[e["AmpersandToken"]=46]="AmpersandToken";e[e["BarToken"]=47]="BarToken";e[e["CaretToken"]=48]="CaretToken";e[e["ExclamationToken"]=49]="ExclamationToken";e[e["TildeToken"]=50]="TildeToken";e[e["AmpersandAmpersandToken"]=51]="AmpersandAmpersandToken";e[e["BarBarToken"]=52]="BarBarToken";e[e["QuestionToken"]=53]="QuestionToken";e[e["ColonToken"]=54]="ColonToken";e[e["AtToken"]=55]="AtToken";e[e["EqualsToken"]=56]="EqualsToken";e[e["PlusEqualsToken"]=57]="PlusEqualsToken";e[e["MinusEqualsToken"]=58]="MinusEqualsToken";e[e["AsteriskEqualsToken"]=59]="AsteriskEqualsToken";e[e["AsteriskAsteriskEqualsToken"]=60]="AsteriskAsteriskEqualsToken";e[e["SlashEqualsToken"]=61]="SlashEqualsToken";e[e["PercentEqualsToken"]=62]="PercentEqualsToken";e[e["LessThanLessThanEqualsToken"]=63]="LessThanLessThanEqualsToken";e[e["GreaterThanGreaterThanEqualsToken"]=64]="GreaterThanGreaterThanEqualsToken";e[e["GreaterThanGreaterThanGreaterThanEqualsToken"]=65]="GreaterThanGreaterThanGreaterThanEqualsToken";e[e["AmpersandEqualsToken"]=66]="AmpersandEqualsToken";e[e["BarEqualsToken"]=67]="BarEqualsToken";e[e["CaretEqualsToken"]=68]="CaretEqualsToken";e[e["Identifier"]=69]="Identifier";e[e["BreakKeyword"]=70]="BreakKeyword";e[e["CaseKeyword"]=71]="CaseKeyword";e[e["CatchKeyword"]=72]="CatchKeyword";e[e["ClassKeyword"]=73]="ClassKeyword";e[e["ConstKeyword"]=74]="ConstKeyword";e[e["ContinueKeyword"]=75]="ContinueKeyword";e[e["DebuggerKeyword"]=76]="DebuggerKeyword";e[e["DefaultKeyword"]=77]="DefaultKeyword";e[e["DeleteKeyword"]=78]="DeleteKeyword";e[e["DoKeyword"]=79]="DoKeyword";e[e["ElseKeyword"]=80]="ElseKeyword";e[e["EnumKeyword"]=81]="EnumKeyword";e[e["ExportKeyword"]=82]="ExportKeyword";e[e["ExtendsKeyword"]=83]="ExtendsKeyword";e[e["FalseKeyword"]=84]="FalseKeyword";e[e["FinallyKeyword"]=85]="FinallyKeyword";e[e["ForKeyword"]=86]="ForKeyword";e[e["FunctionKeyword"]=87]="FunctionKeyword";e[e["IfKeyword"]=88]="IfKeyword";e[e["ImportKeyword"]=89]="ImportKeyword";e[e["InKeyword"]=90]="InKeyword";e[e["InstanceOfKeyword"]=91]="InstanceOfKeyword";e[e["NewKeyword"]=92]="NewKeyword";e[e["NullKeyword"]=93]="NullKeyword";e[e["ReturnKeyword"]=94]="ReturnKeyword";e[e["SuperKeyword"]=95]="SuperKeyword";e[e["SwitchKeyword"]=96]="SwitchKeyword";e[e["ThisKeyword"]=97]="ThisKeyword";e[e["ThrowKeyword"]=98]="ThrowKeyword";e[e["TrueKeyword"]=99]="TrueKeyword";e[e["TryKeyword"]=100]="TryKeyword";e[e["TypeOfKeyword"]=101]="TypeOfKeyword";e[e["VarKeyword"]=102]="VarKeyword";e[e["VoidKeyword"]=103]="VoidKeyword";e[e["WhileKeyword"]=104]="WhileKeyword";e[e["WithKeyword"]=105]="WithKeyword";e[e["ImplementsKeyword"]=106]="ImplementsKeyword";e[e["InterfaceKeyword"]=107]="InterfaceKeyword";e[e["LetKeyword"]=108]="LetKeyword";e[e["PackageKeyword"]=109]="PackageKeyword";e[e["PrivateKeyword"]=110]="PrivateKeyword";e[e["ProtectedKeyword"]=111]="ProtectedKeyword";e[e["PublicKeyword"]=112]="PublicKeyword";e[e["StaticKeyword"]=113]="StaticKeyword";e[e["YieldKeyword"]=114]="YieldKeyword";e[e["AbstractKeyword"]=115]="AbstractKeyword";e[e["AsKeyword"]=116]="AsKeyword";e[e["AnyKeyword"]=117]="AnyKeyword";e[e["AsyncKeyword"]=118]="AsyncKeyword";e[e["AwaitKeyword"]=119]="AwaitKeyword";e[e["BooleanKeyword"]=120]="BooleanKeyword";e[e["ConstructorKeyword"]=121]="ConstructorKeyword";e[e["DeclareKeyword"]=122]="DeclareKeyword";e[e["GetKeyword"]=123]="GetKeyword";e[e["IsKeyword"]=124]="IsKeyword";e[e["ModuleKeyword"]=125]="ModuleKeyword";e[e["NamespaceKeyword"]=126]="NamespaceKeyword";e[e["NeverKeyword"]=127]="NeverKeyword";e[e["ReadonlyKeyword"]=128]="ReadonlyKeyword";e[e["RequireKeyword"]=129]="RequireKeyword";e[e["NumberKeyword"]=130]="NumberKeyword";e[e["SetKeyword"]=131]="SetKeyword";e[e["StringKeyword"]=132]="StringKeyword";e[e["SymbolKeyword"]=133]="SymbolKeyword";e[e["TypeKeyword"]=134]="TypeKeyword";e[e["UndefinedKeyword"]=135]="UndefinedKeyword";e[e["FromKeyword"]=136]="FromKeyword";e[e["GlobalKeyword"]=137]="GlobalKeyword";e[e["OfKeyword"]=138]="OfKeyword";e[e["QualifiedName"]=139]="QualifiedName";e[e["ComputedPropertyName"]=140]="ComputedPropertyName";e[e["TypeParameter"]=141]="TypeParameter";e[e["Parameter"]=142]="Parameter";e[e["Decorator"]=143]="Decorator";e[e["PropertySignature"]=144]="PropertySignature";e[e["PropertyDeclaration"]=145]="PropertyDeclaration";e[e["MethodSignature"]=146]="MethodSignature";e[e["MethodDeclaration"]=147]="MethodDeclaration";e[e["Constructor"]=148]="Constructor";e[e["GetAccessor"]=149]="GetAccessor";e[e["SetAccessor"]=150]="SetAccessor";e[e["CallSignature"]=151]="CallSignature";e[e["ConstructSignature"]=152]="ConstructSignature";e[e["IndexSignature"]=153]="IndexSignature";e[e["TypePredicate"]=154]="TypePredicate";e[e["TypeReference"]=155]="TypeReference";e[e["FunctionType"]=156]="FunctionType";e[e["ConstructorType"]=157]="ConstructorType";e[e["TypeQuery"]=158]="TypeQuery";e[e["TypeLiteral"]=159]="TypeLiteral";e[e["ArrayType"]=160]="ArrayType";e[e["TupleType"]=161]="TupleType";e[e["UnionType"]=162]="UnionType";e[e["IntersectionType"]=163]="IntersectionType";e[e["ParenthesizedType"]=164]="ParenthesizedType";e[e["ThisType"]=165]="ThisType";e[e["StringLiteralType"]=166]="StringLiteralType";e[e["ObjectBindingPattern"]=167]="ObjectBindingPattern";e[e["ArrayBindingPattern"]=168]="ArrayBindingPattern";e[e["BindingElement"]=169]="BindingElement";e[e["ArrayLiteralExpression"]=170]="ArrayLiteralExpression";e[e["ObjectLiteralExpression"]=171]="ObjectLiteralExpression";e[e["PropertyAccessExpression"]=172]="PropertyAccessExpression";e[e["ElementAccessExpression"]=173]="ElementAccessExpression";e[e["CallExpression"]=174]="CallExpression";e[e["NewExpression"]=175]="NewExpression";e[e["TaggedTemplateExpression"]=176]="TaggedTemplateExpression";e[e["TypeAssertionExpression"]=177]="TypeAssertionExpression";e[e["ParenthesizedExpression"]=178]="ParenthesizedExpression";e[e["FunctionExpression"]=179]="FunctionExpression";e[e["ArrowFunction"]=180]="ArrowFunction";e[e["DeleteExpression"]=181]="DeleteExpression";e[e["TypeOfExpression"]=182]="TypeOfExpression";e[e["VoidExpression"]=183]="VoidExpression";e[e["AwaitExpression"]=184]="AwaitExpression";e[e["PrefixUnaryExpression"]=185]="PrefixUnaryExpression";e[e["PostfixUnaryExpression"]=186]="PostfixUnaryExpression";e[e["BinaryExpression"]=187]="BinaryExpression";e[e["ConditionalExpression"]=188]="ConditionalExpression";e[e["TemplateExpression"]=189]="TemplateExpression";e[e["YieldExpression"]=190]="YieldExpression";e[e["SpreadElementExpression"]=191]="SpreadElementExpression";e[e["ClassExpression"]=192]="ClassExpression";e[e["OmittedExpression"]=193]="OmittedExpression";e[e["ExpressionWithTypeArguments"]=194]="ExpressionWithTypeArguments";e[e["AsExpression"]=195]="AsExpression";e[e["NonNullExpression"]=196]="NonNullExpression";e[e["TemplateSpan"]=197]="TemplateSpan";e[e["SemicolonClassElement"]=198]="SemicolonClassElement";e[e["Block"]=199]="Block";e[e["VariableStatement"]=200]="VariableStatement";e[e["EmptyStatement"]=201]="EmptyStatement";e[e["ExpressionStatement"]=202]="ExpressionStatement";e[e["IfStatement"]=203]="IfStatement";e[e["DoStatement"]=204]="DoStatement";e[e["WhileStatement"]=205]="WhileStatement";e[e["ForStatement"]=206]="ForStatement";e[e["ForInStatement"]=207]="ForInStatement";e[e["ForOfStatement"]=208]="ForOfStatement";e[e["ContinueStatement"]=209]="ContinueStatement";e[e["BreakStatement"]=210]="BreakStatement";e[e["ReturnStatement"]=211]="ReturnStatement";e[e["WithStatement"]=212]="WithStatement";e[e["SwitchStatement"]=213]="SwitchStatement";e[e["LabeledStatement"]=214]="LabeledStatement";e[e["ThrowStatement"]=215]="ThrowStatement";e[e["TryStatement"]=216]="TryStatement";e[e["DebuggerStatement"]=217]="DebuggerStatement";e[e["VariableDeclaration"]=218]="VariableDeclaration";e[e["VariableDeclarationList"]=219]="VariableDeclarationList";e[e["FunctionDeclaration"]=220]="FunctionDeclaration";e[e["ClassDeclaration"]=221]="ClassDeclaration";e[e["InterfaceDeclaration"]=222]="InterfaceDeclaration";e[e["TypeAliasDeclaration"]=223]="TypeAliasDeclaration";e[e["EnumDeclaration"]=224]="EnumDeclaration";e[e["ModuleDeclaration"]=225]="ModuleDeclaration";e[e["ModuleBlock"]=226]="ModuleBlock";e[e["CaseBlock"]=227]="CaseBlock";e[e["NamespaceExportDeclaration"]=228]="NamespaceExportDeclaration";e[e["ImportEqualsDeclaration"]=229]="ImportEqualsDeclaration";e[e["ImportDeclaration"]=230]="ImportDeclaration";e[e["ImportClause"]=231]="ImportClause";e[e["NamespaceImport"]=232]="NamespaceImport";e[e["NamedImports"]=233]="NamedImports";e[e["ImportSpecifier"]=234]="ImportSpecifier";e[e["ExportAssignment"]=235]="ExportAssignment";e[e["ExportDeclaration"]=236]="ExportDeclaration";e[e["NamedExports"]=237]="NamedExports";e[e["ExportSpecifier"]=238]="ExportSpecifier";e[e["MissingDeclaration"]=239]="MissingDeclaration";e[e["ExternalModuleReference"]=240]="ExternalModuleReference";e[e["JsxElement"]=241]="JsxElement";e[e["JsxSelfClosingElement"]=242]="JsxSelfClosingElement";e[e["JsxOpeningElement"]=243]="JsxOpeningElement";e[e["JsxText"]=244]="JsxText";e[e["JsxClosingElement"]=245]="JsxClosingElement";e[e["JsxAttribute"]=246]="JsxAttribute";e[e["JsxSpreadAttribute"]=247]="JsxSpreadAttribute";e[e["JsxExpression"]=248]="JsxExpression";e[e["CaseClause"]=249]="CaseClause";e[e["DefaultClause"]=250]="DefaultClause";e[e["HeritageClause"]=251]="HeritageClause";e[e["CatchClause"]=252]="CatchClause";e[e["PropertyAssignment"]=253]="PropertyAssignment";e[e["ShorthandPropertyAssignment"]=254]="ShorthandPropertyAssignment";e[e["EnumMember"]=255]="EnumMember";e[e["SourceFile"]=256]="SourceFile";e[e["JSDocTypeExpression"]=257]="JSDocTypeExpression";e[e["JSDocAllType"]=258]="JSDocAllType";e[e["JSDocUnknownType"]=259]="JSDocUnknownType";e[e["JSDocArrayType"]=260]="JSDocArrayType";e[e["JSDocUnionType"]=261]="JSDocUnionType";e[e["JSDocTupleType"]=262]="JSDocTupleType";e[e["JSDocNullableType"]=263]="JSDocNullableType";e[e["JSDocNonNullableType"]=264]="JSDocNonNullableType";e[e["JSDocRecordType"]=265]="JSDocRecordType";e[e["JSDocRecordMember"]=266]="JSDocRecordMember";e[e["JSDocTypeReference"]=267]="JSDocTypeReference";e[e["JSDocOptionalType"]=268]="JSDocOptionalType";e[e["JSDocFunctionType"]=269]="JSDocFunctionType";e[e["JSDocVariadicType"]=270]="JSDocVariadicType";e[e["JSDocConstructorType"]=271]="JSDocConstructorType";e[e["JSDocThisType"]=272]="JSDocThisType";e[e["JSDocComment"]=273]="JSDocComment";e[e["JSDocTag"]=274]="JSDocTag";e[e["JSDocParameterTag"]=275]="JSDocParameterTag";e[e["JSDocReturnTag"]=276]="JSDocReturnTag";e[e["JSDocTypeTag"]=277]="JSDocTypeTag";e[e["JSDocTemplateTag"]=278]="JSDocTemplateTag";e[e["JSDocTypedefTag"]=279]="JSDocTypedefTag";e[e["JSDocPropertyTag"]=280]="JSDocPropertyTag";e[e["JSDocTypeLiteral"]=281]="JSDocTypeLiteral";e[e["SyntaxList"]=282]="SyntaxList";e[e["Count"]=283]="Count";e[e["FirstAssignment"]=56]="FirstAssignment";e[e["LastAssignment"]=68]="LastAssignment";e[e["FirstReservedWord"]=70]="FirstReservedWord";e[e["LastReservedWord"]=105]="LastReservedWord";e[e["FirstKeyword"]=70]="FirstKeyword";e[e["LastKeyword"]=138]="LastKeyword";e[e["FirstFutureReservedWord"]=106]="FirstFutureReservedWord";e[e["LastFutureReservedWord"]=114]="LastFutureReservedWord";e[e["FirstTypeNode"]=154]="FirstTypeNode";e[e["LastTypeNode"]=166]="LastTypeNode";e[e["FirstPunctuation"]=15]="FirstPunctuation";e[e["LastPunctuation"]=68]="LastPunctuation";e[e["FirstToken"]=0]="FirstToken";e[e["LastToken"]=138]="LastToken";e[e["FirstTriviaToken"]=2]="FirstTriviaToken";e[e["LastTriviaToken"]=7]="LastTriviaToken";e[e["FirstLiteralToken"]=8]="FirstLiteralToken";e[e["LastLiteralToken"]=11]="LastLiteralToken";e[e["FirstTemplateToken"]=11]="FirstTemplateToken";e[e["LastTemplateToken"]=14]="LastTemplateToken";e[e["FirstBinaryOperator"]=25]="FirstBinaryOperator";e[e["LastBinaryOperator"]=68]="LastBinaryOperator";e[e["FirstNode"]=139]="FirstNode";e[e["FirstJSDocNode"]=257]="FirstJSDocNode";e[e["LastJSDocNode"]=281]="LastJSDocNode";e[e["FirstJSDocTagNode"]=273]="FirstJSDocTagNode";e[e["LastJSDocTagNode"]=281]="LastJSDocTagNode"})(e.SyntaxKind||(e.SyntaxKind={}));var t=e.SyntaxKind;(function(e){e[e["None"]=0]="None";e[e["Export"]=1]="Export";e[e["Ambient"]=2]="Ambient";e[e["Public"]=4]="Public";e[e["Private"]=8]="Private";e[e["Protected"]=16]="Protected";e[e["Static"]=32]="Static";e[e["Readonly"]=64]="Readonly";e[e["Abstract"]=128]="Abstract";e[e["Async"]=256]="Async";e[e["Default"]=512]="Default";e[e["Let"]=1024]="Let";e[e["Const"]=2048]="Const";e[e["Namespace"]=4096]="Namespace";e[e["ExportContext"]=8192]="ExportContext";e[e["ContainsThis"]=16384]="ContainsThis";e[e["HasImplicitReturn"]=32768]="HasImplicitReturn";e[e["HasExplicitReturn"]=65536]="HasExplicitReturn";e[e["GlobalAugmentation"]=131072]="GlobalAugmentation";e[e["HasClassExtends"]=262144]="HasClassExtends";e[e["HasDecorators"]=524288]="HasDecorators";e[e["HasParamDecorators"]=1048576]="HasParamDecorators";e[e["HasAsyncFunctions"]=2097152]="HasAsyncFunctions";e[e["DisallowInContext"]=4194304]="DisallowInContext";e[e["YieldContext"]=8388608]="YieldContext";e[e["DecoratorContext"]=16777216]="DecoratorContext";e[e["AwaitContext"]=33554432]="AwaitContext";e[e["ThisNodeHasError"]=67108864]="ThisNodeHasError";e[e["JavaScriptFile"]=134217728]="JavaScriptFile";e[e["ThisNodeOrAnySubNodesHasError"]=268435456]="ThisNodeOrAnySubNodesHasError";e[e["HasAggregatedChildData"]=536870912]="HasAggregatedChildData";e[e["HasJsxSpreadAttribute"]=1073741824]="HasJsxSpreadAttribute";e[e["Modifier"]=1023]="Modifier";e[e["AccessibilityModifier"]=28]="AccessibilityModifier";e[e["ParameterPropertyModifier"]=92]="ParameterPropertyModifier";e[e["BlockScoped"]=3072]="BlockScoped";e[e["ReachabilityCheckFlags"]=98304]="ReachabilityCheckFlags";e[e["EmitHelperFlags"]=3932160]="EmitHelperFlags";e[e["ReachabilityAndEmitFlags"]=4030464]="ReachabilityAndEmitFlags";e[e["ContextFlags"]=197132288]="ContextFlags";e[e["TypeExcludesFlags"]=41943040]="TypeExcludesFlags"})(e.NodeFlags||(e.NodeFlags={}));var r=e.NodeFlags;(function(e){e[e["None"]=0]="None";e[e["IntrinsicNamedElement"]=1]="IntrinsicNamedElement";e[e["IntrinsicIndexedElement"]=2]="IntrinsicIndexedElement";e[e["IntrinsicElement"]=3]="IntrinsicElement"})(e.JsxFlags||(e.JsxFlags={}));var n=e.JsxFlags;(function(e){e[e["Succeeded"]=1]="Succeeded";e[e["Failed"]=2]="Failed";e[e["FailedAndReported"]=3]="FailedAndReported"})(e.RelationComparisonResult||(e.RelationComparisonResult={}));var a=e.RelationComparisonResult;(function(e){e[e["Unreachable"]=1]="Unreachable";e[e["Start"]=2]="Start";e[e["BranchLabel"]=4]="BranchLabel";e[e["LoopLabel"]=8]="LoopLabel";e[e["Assignment"]=16]="Assignment";e[e["TrueCondition"]=32]="TrueCondition";e[e["FalseCondition"]=64]="FalseCondition";e[e["SwitchClause"]=128]="SwitchClause";e[e["Referenced"]=256]="Referenced";e[e["Shared"]=512]="Shared";e[e["Label"]=12]="Label";e[e["Condition"]=96]="Condition"})(e.FlowFlags||(e.FlowFlags={}));var i=e.FlowFlags;var o=function(){function OperationCanceledException(){}return OperationCanceledException}();e.OperationCanceledException=o;(function(e){e[e["Success"]=0]="Success";e[e["DiagnosticsPresent_OutputsSkipped"]=1]="DiagnosticsPresent_OutputsSkipped";e[e["DiagnosticsPresent_OutputsGenerated"]=2]="DiagnosticsPresent_OutputsGenerated"})(e.ExitStatus||(e.ExitStatus={}));var s=e.ExitStatus;(function(e){e[e["None"]=0]="None";e[e["WriteArrayAsGenericType"]=1]="WriteArrayAsGenericType";e[e["UseTypeOfFunction"]=2]="UseTypeOfFunction";e[e["NoTruncation"]=4]="NoTruncation";e[e["WriteArrowStyleSignature"]=8]="WriteArrowStyleSignature";e[e["WriteOwnNameForAnyLike"]=16]="WriteOwnNameForAnyLike";e[e["WriteTypeArgumentsOfSignature"]=32]="WriteTypeArgumentsOfSignature";e[e["InElementType"]=64]="InElementType";e[e["UseFullyQualifiedType"]=128]="UseFullyQualifiedType";e[e["InFirstTypeArgument"]=256]="InFirstTypeArgument"})(e.TypeFormatFlags||(e.TypeFormatFlags={}));var c=e.TypeFormatFlags;(function(e){e[e["None"]=0]="None";e[e["WriteTypeParametersOrArguments"]=1]="WriteTypeParametersOrArguments";e[e["UseOnlyExternalAliasing"]=2]="UseOnlyExternalAliasing"})(e.SymbolFormatFlags||(e.SymbolFormatFlags={}));var l=e.SymbolFormatFlags;(function(e){e[e["Accessible"]=0]="Accessible";e[e["NotAccessible"]=1]="NotAccessible";e[e["CannotBeNamed"]=2]="CannotBeNamed"})(e.SymbolAccessibility||(e.SymbolAccessibility={}));var u=e.SymbolAccessibility;(function(e){e[e["This"]=0]="This";e[e["Identifier"]=1]="Identifier"})(e.TypePredicateKind||(e.TypePredicateKind={}));var _=e.TypePredicateKind;(function(e){e[e["Unknown"]=0]="Unknown";e[e["TypeWithConstructSignatureAndValue"]=1]="TypeWithConstructSignatureAndValue";e[e["VoidType"]=2]="VoidType";e[e["NumberLikeType"]=3]="NumberLikeType";e[e["StringLikeType"]=4]="StringLikeType";e[e["BooleanType"]=5]="BooleanType";e[e["ArrayLikeType"]=6]="ArrayLikeType";e[e["ESSymbolType"]=7]="ESSymbolType";e[e["TypeWithCallSignature"]=8]="TypeWithCallSignature";e[e["ObjectType"]=9]="ObjectType"})(e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}));var d=e.TypeReferenceSerializationKind;(function(e){e[e["None"]=0]="None";e[e["FunctionScopedVariable"]=1]="FunctionScopedVariable";e[e["BlockScopedVariable"]=2]="BlockScopedVariable";e[e["Property"]=4]="Property";e[e["EnumMember"]=8]="EnumMember";e[e["Function"]=16]="Function";e[e["Class"]=32]="Class";e[e["Interface"]=64]="Interface";e[e["ConstEnum"]=128]="ConstEnum";e[e["RegularEnum"]=256]="RegularEnum";e[e["ValueModule"]=512]="ValueModule";e[e["NamespaceModule"]=1024]="NamespaceModule";e[e["TypeLiteral"]=2048]="TypeLiteral";e[e["ObjectLiteral"]=4096]="ObjectLiteral";e[e["Method"]=8192]="Method";e[e["Constructor"]=16384]="Constructor";e[e["GetAccessor"]=32768]="GetAccessor";e[e["SetAccessor"]=65536]="SetAccessor";e[e["Signature"]=131072]="Signature";e[e["TypeParameter"]=262144]="TypeParameter";e[e["TypeAlias"]=524288]="TypeAlias";e[e["ExportValue"]=1048576]="ExportValue";e[e["ExportType"]=2097152]="ExportType";e[e["ExportNamespace"]=4194304]="ExportNamespace";e[e["Alias"]=8388608]="Alias";e[e["Instantiated"]=16777216]="Instantiated";e[e["Merged"]=33554432]="Merged";e[e["Transient"]=67108864]="Transient";e[e["Prototype"]=134217728]="Prototype";e[e["SyntheticProperty"]=268435456]="SyntheticProperty";e[e["Optional"]=536870912]="Optional";e[e["ExportStar"]=1073741824]="ExportStar";e[e["Enum"]=384]="Enum";e[e["Variable"]=3]="Variable";e[e["Value"]=107455]="Value";e[e["Type"]=793056]="Type";e[e["Namespace"]=1536]="Namespace";e[e["Module"]=1536]="Module";e[e["Accessor"]=98304]="Accessor";e[e["FunctionScopedVariableExcludes"]=107454]="FunctionScopedVariableExcludes";e[e["BlockScopedVariableExcludes"]=107455]="BlockScopedVariableExcludes";e[e["ParameterExcludes"]=107455]="ParameterExcludes";e[e["PropertyExcludes"]=0]="PropertyExcludes";e[e["EnumMemberExcludes"]=107455]="EnumMemberExcludes";e[e["FunctionExcludes"]=106927]="FunctionExcludes";e[e["ClassExcludes"]=899519]="ClassExcludes";e[e["InterfaceExcludes"]=792960]="InterfaceExcludes";e[e["RegularEnumExcludes"]=899327]="RegularEnumExcludes";e[e["ConstEnumExcludes"]=899967]="ConstEnumExcludes";e[e["ValueModuleExcludes"]=106639]="ValueModuleExcludes";e[e["NamespaceModuleExcludes"]=0]="NamespaceModuleExcludes";e[e["MethodExcludes"]=99263]="MethodExcludes";e[e["GetAccessorExcludes"]=41919]="GetAccessorExcludes";e[e["SetAccessorExcludes"]=74687]="SetAccessorExcludes";e[e["TypeParameterExcludes"]=530912]="TypeParameterExcludes";e[e["TypeAliasExcludes"]=793056]="TypeAliasExcludes";e[e["AliasExcludes"]=8388608]="AliasExcludes";e[e["ModuleMember"]=8914931]="ModuleMember";e[e["ExportHasLocal"]=944]="ExportHasLocal";e[e["HasExports"]=1952]="HasExports";e[e["HasMembers"]=6240]="HasMembers";e[e["BlockScoped"]=418]="BlockScoped";e[e["PropertyOrAccessor"]=98308]="PropertyOrAccessor";e[e["Export"]=7340032]="Export";e[e["ClassMember"]=106500]="ClassMember";e[e["Classifiable"]=788448]="Classifiable"})(e.SymbolFlags||(e.SymbolFlags={}));var p=e.SymbolFlags;(function(e){e[e["TypeChecked"]=1]="TypeChecked";e[e["LexicalThis"]=2]="LexicalThis";e[e["CaptureThis"]=4]="CaptureThis";e[e["SuperInstance"]=256]="SuperInstance";e[e["SuperStatic"]=512]="SuperStatic";e[e["ContextChecked"]=1024]="ContextChecked";e[e["AsyncMethodWithSuper"]=2048]="AsyncMethodWithSuper";e[e["AsyncMethodWithSuperBinding"]=4096]="AsyncMethodWithSuperBinding";e[e["CaptureArguments"]=8192]="CaptureArguments";e[e["EnumValuesComputed"]=16384]="EnumValuesComputed";e[e["LexicalModuleMergesWithClass"]=32768]="LexicalModuleMergesWithClass";e[e["LoopWithCapturedBlockScopedBinding"]=65536]="LoopWithCapturedBlockScopedBinding";e[e["CapturedBlockScopedBinding"]=131072]="CapturedBlockScopedBinding";e[e["BlockScopedBindingInLoop"]=262144]="BlockScopedBindingInLoop";e[e["ClassWithBodyScopedClassBinding"]=524288]="ClassWithBodyScopedClassBinding";e[e["BodyScopedClassBinding"]=1048576]="BodyScopedClassBinding";e[e["NeedsLoopOutParameter"]=2097152]="NeedsLoopOutParameter"})(e.NodeCheckFlags||(e.NodeCheckFlags={}));var m=e.NodeCheckFlags;(function(e){e[e["Any"]=1]="Any";e[e["String"]=2]="String";e[e["Number"]=4]="Number";e[e["Boolean"]=8]="Boolean";e[e["Void"]=16]="Void";e[e["Undefined"]=32]="Undefined";e[e["Null"]=64]="Null";e[e["Enum"]=128]="Enum";e[e["StringLiteral"]=256]="StringLiteral";e[e["TypeParameter"]=512]="TypeParameter";e[e["Class"]=1024]="Class";e[e["Interface"]=2048]="Interface";e[e["Reference"]=4096]="Reference";e[e["Tuple"]=8192]="Tuple";e[e["Union"]=16384]="Union";e[e["Intersection"]=32768]="Intersection";e[e["Anonymous"]=65536]="Anonymous";e[e["Instantiated"]=131072]="Instantiated";e[e["FromSignature"]=262144]="FromSignature";e[e["ObjectLiteral"]=524288]="ObjectLiteral";e[e["FreshObjectLiteral"]=1048576]="FreshObjectLiteral";e[e["ContainsWideningType"]=2097152]="ContainsWideningType";e[e["ContainsObjectLiteral"]=4194304]="ContainsObjectLiteral";e[e["ContainsAnyFunctionType"]=8388608]="ContainsAnyFunctionType";e[e["ESSymbol"]=16777216]="ESSymbol";e[e["ThisType"]=33554432]="ThisType";e[e["ObjectLiteralPatternWithComputedProperties"]=67108864]="ObjectLiteralPatternWithComputedProperties";e[e["Never"]=134217728]="Never";e[e["Nullable"]=96]="Nullable";e[e["Falsy"]=112]="Falsy";e[e["Intrinsic"]=150995071]="Intrinsic";e[e["Primitive"]=16777726]="Primitive";e[e["StringLike"]=258]="StringLike";e[e["NumberLike"]=132]="NumberLike";e[e["ObjectType"]=80896]="ObjectType";e[e["UnionOrIntersection"]=49152]="UnionOrIntersection";e[e["StructuredType"]=130048]="StructuredType";e[e["Narrowable"]=16908175]="Narrowable";e[e["RequiresWidening"]=6291456]="RequiresWidening";e[e["PropagatingFlags"]=14680064]="PropagatingFlags"})(e.TypeFlags||(e.TypeFlags={}));var g=e.TypeFlags;(function(e){e[e["Call"]=0]="Call";e[e["Construct"]=1]="Construct"})(e.SignatureKind||(e.SignatureKind={}));var f=e.SignatureKind;(function(e){e[e["String"]=0]="String";e[e["Number"]=1]="Number"})(e.IndexKind||(e.IndexKind={}));var y=e.IndexKind;(function(e){e[e["None"]=0]="None";e[e["ExportsProperty"]=1]="ExportsProperty";e[e["ModuleExports"]=2]="ModuleExports";e[e["PrototypeProperty"]=3]="PrototypeProperty";e[e["ThisProperty"]=4]="ThisProperty"})(e.SpecialPropertyAssignmentKind||(e.SpecialPropertyAssignmentKind={}));var h=e.SpecialPropertyAssignmentKind;(function(e){e[e["Warning"]=0]="Warning";e[e["Error"]=1]="Error";e[e["Message"]=2]="Message"})(e.DiagnosticCategory||(e.DiagnosticCategory={}));var v=e.DiagnosticCategory;(function(e){e[e["Classic"]=1]="Classic";e[e["NodeJs"]=2]="NodeJs"})(e.ModuleResolutionKind||(e.ModuleResolutionKind={}));var b=e.ModuleResolutionKind;(function(e){e[e["None"]=0]="None";e[e["CommonJS"]=1]="CommonJS";e[e["AMD"]=2]="AMD";e[e["UMD"]=3]="UMD";e[e["System"]=4]="System";e[e["ES6"]=5]="ES6";e[e["ES2015"]=5]="ES2015"})(e.ModuleKind||(e.ModuleKind={}));var T=e.ModuleKind;(function(e){e[e["None"]=0]="None";e[e["Preserve"]=1]="Preserve";e[e["React"]=2]="React"})(e.JsxEmit||(e.JsxEmit={}));var k=e.JsxEmit;(function(e){e[e["CarriageReturnLineFeed"]=0]="CarriageReturnLineFeed";e[e["LineFeed"]=1]="LineFeed"})(e.NewLineKind||(e.NewLineKind={}));var S=e.NewLineKind;(function(e){e[e["Unknown"]=0]="Unknown";e[e["JS"]=1]="JS";e[e["JSX"]=2]="JSX";e[e["TS"]=3]="TS";e[e["TSX"]=4]="TSX"})(e.ScriptKind||(e.ScriptKind={}));var x=e.ScriptKind;(function(e){e[e["ES3"]=0]="ES3";e[e["ES5"]=1]="ES5";e[e["ES6"]=2]="ES6";e[e["ES2015"]=2]="ES2015";e[e["Latest"]=2]="Latest"})(e.ScriptTarget||(e.ScriptTarget={}));var C=e.ScriptTarget;(function(e){e[e["Standard"]=0]="Standard";e[e["JSX"]=1]="JSX"})(e.LanguageVariant||(e.LanguageVariant={}));var D=e.LanguageVariant;(function(e){e[e["Simple"]=0]="Simple";e[e["Pretty"]=1]="Pretty"})(e.DiagnosticStyle||(e.DiagnosticStyle={}));var E=e.DiagnosticStyle;(function(e){e[e["None"]=0]="None";e[e["Recursive"]=1]="Recursive"})(e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}));var N=e.WatchDirectoryFlags;(function(e){e[e["nullCharacter"]=0]="nullCharacter";e[e["maxAsciiCharacter"]=127]="maxAsciiCharacter";e[e["lineFeed"]=10]="lineFeed";e[e["carriageReturn"]=13]="carriageReturn";e[e["lineSeparator"]=8232]="lineSeparator";e[e["paragraphSeparator"]=8233]="paragraphSeparator";e[e["nextLine"]=133]="nextLine";e[e["space"]=32]="space";e[e["nonBreakingSpace"]=160]="nonBreakingSpace";e[e["enQuad"]=8192]="enQuad";e[e["emQuad"]=8193]="emQuad";e[e["enSpace"]=8194]="enSpace";e[e["emSpace"]=8195]="emSpace";e[e["threePerEmSpace"]=8196]="threePerEmSpace";e[e["fourPerEmSpace"]=8197]="fourPerEmSpace";e[e["sixPerEmSpace"]=8198]="sixPerEmSpace";e[e["figureSpace"]=8199]="figureSpace";e[e["punctuationSpace"]=8200]="punctuationSpace";e[e["thinSpace"]=8201]="thinSpace";e[e["hairSpace"]=8202]="hairSpace";e[e["zeroWidthSpace"]=8203]="zeroWidthSpace";e[e["narrowNoBreakSpace"]=8239]="narrowNoBreakSpace";e[e["ideographicSpace"]=12288]="ideographicSpace";e[e["mathematicalSpace"]=8287]="mathematicalSpace";e[e["ogham"]=5760]="ogham";e[e["_"]=95]="_";e[e["$"]=36]="$";e[e["_0"]=48]="_0";e[e["_1"]=49]="_1";e[e["_2"]=50]="_2";e[e["_3"]=51]="_3";e[e["_4"]=52]="_4";e[e["_5"]=53]="_5";e[e["_6"]=54]="_6";e[e["_7"]=55]="_7";e[e["_8"]=56]="_8";e[e["_9"]=57]="_9";e[e["a"]=97]="a";e[e["b"]=98]="b";e[e["c"]=99]="c";e[e["d"]=100]="d";e[e["e"]=101]="e";e[e["f"]=102]="f";e[e["g"]=103]="g";e[e["h"]=104]="h";e[e["i"]=105]="i";e[e["j"]=106]="j";e[e["k"]=107]="k";e[e["l"]=108]="l";e[e["m"]=109]="m";e[e["n"]=110]="n";e[e["o"]=111]="o";e[e["p"]=112]="p";e[e["q"]=113]="q";e[e["r"]=114]="r";e[e["s"]=115]="s";e[e["t"]=116]="t";e[e["u"]=117]="u";e[e["v"]=118]="v";e[e["w"]=119]="w";e[e["x"]=120]="x";e[e["y"]=121]="y";e[e["z"]=122]="z";e[e["A"]=65]="A";e[e["B"]=66]="B";e[e["C"]=67]="C";e[e["D"]=68]="D";e[e["E"]=69]="E";e[e["F"]=70]="F";e[e["G"]=71]="G";e[e["H"]=72]="H";e[e["I"]=73]="I";e[e["J"]=74]="J";e[e["K"]=75]="K";e[e["L"]=76]="L";e[e["M"]=77]="M";e[e["N"]=78]="N";e[e["O"]=79]="O";e[e["P"]=80]="P";e[e["Q"]=81]="Q";e[e["R"]=82]="R";e[e["S"]=83]="S";e[e["T"]=84]="T";e[e["U"]=85]="U";e[e["V"]=86]="V";e[e["W"]=87]="W";e[e["X"]=88]="X";e[e["Y"]=89]="Y";e[e["Z"]=90]="Z";e[e["ampersand"]=38]="ampersand";e[e["asterisk"]=42]="asterisk";e[e["at"]=64]="at";e[e["backslash"]=92]="backslash";e[e["backtick"]=96]="backtick";e[e["bar"]=124]="bar";e[e["caret"]=94]="caret";e[e["closeBrace"]=125]="closeBrace";e[e["closeBracket"]=93]="closeBracket";e[e["closeParen"]=41]="closeParen";e[e["colon"]=58]="colon";e[e["comma"]=44]="comma";e[e["dot"]=46]="dot";e[e["doubleQuote"]=34]="doubleQuote";e[e["equals"]=61]="equals";e[e["exclamation"]=33]="exclamation";e[e["greaterThan"]=62]="greaterThan";e[e["hash"]=35]="hash";e[e["lessThan"]=60]="lessThan";e[e["minus"]=45]="minus";e[e["openBrace"]=123]="openBrace";e[e["openBracket"]=91]="openBracket";e[e["openParen"]=40]="openParen";e[e["percent"]=37]="percent";e[e["plus"]=43]="plus";e[e["question"]=63]="question";e[e["semicolon"]=59]="semicolon";e[e["singleQuote"]=39]="singleQuote";e[e["slash"]=47]="slash";e[e["tilde"]=126]="tilde";e[e["backspace"]=8]="backspace";e[e["formFeed"]=12]="formFeed";e[e["byteOrderMark"]=65279]="byteOrderMark";e[e["tab"]=9]="tab";e[e["verticalTab"]=11]="verticalTab"})(e.CharacterCodes||(e.CharacterCodes={}));var O=e.CharacterCodes})(l||(l={}));var l;(function(e){(function(e){e[e["False"]=0]="False";e[e["Maybe"]=1]="Maybe";e[e["True"]=-1]="True"})(e.Ternary||(e.Ternary={}));var t=e.Ternary;function createFileMap(e){var t={};return{get:get,set:set,contains:contains,remove:remove,forEachValue:forEachValueInMap,clear:clear};function forEachValueInMap(e){for(var r in t)e(r,t[r])}function get(e){return t[toKey(e)]}function set(e,r){t[toKey(e)]=r}function contains(e){return hasProperty(t,toKey(e))}function remove(e){var r=toKey(e);delete t[r]}function clear(){t={}}function toKey(t){return e?e(t):t}}e.createFileMap=createFileMap;function toPath(e,t,r){var n=isRootedDiskPath(e)?normalizePath(e):getNormalizedAbsolutePath(e,t);return r(n)}e.toPath=toPath;(function(e){e[e["LessThan"]=-1]="LessThan";e[e["EqualTo"]=0]="EqualTo";e[e["GreaterThan"]=1]="GreaterThan"})(e.Comparison||(e.Comparison={}));var r=e.Comparison;function forEach(e,t){if(e)for(var r=0,n=e.length;r>1);var i=e[a];if(i===t)return a;i>t?n=a-1:r=a+1}return~r}e.binarySearch=binarySearch;function reduceLeft(e,t,r){if(e){var n=e.length;if(n>0){var a=0;var i=void 0;if(arguments.length<=2){i=e[a];a++}else i=r;while(a=0){var a=void 0;if(arguments.length<=2){a=e[n];n--}else a=r;while(n>=0){a=t(a,e[n]);n--}return a}}return r}e.reduceRight=reduceRight;var n=Object.prototype.hasOwnProperty;function hasProperty(e,t){return n.call(e,t)}e.hasProperty=hasProperty;function getKeys(e){var t=[];for(var r in e)t.push(r);return t}e.getKeys=getKeys;function getProperty(e,t){return n.call(e,t)?e[t]:void 0}e.getProperty=getProperty;function isEmpty(e){for(var t in e)if(hasProperty(e,t))return false;return true}e.isEmpty=isEmpty;function clone(e){var t={};for(var r in e)t[r]=e[r];return t}e.clone=clone;function extend(e,t){var r={};for(var n in e)r[n]=e[n];for(var n in t)hasProperty(r,n)||(r[n]=t[n]);return r}e.extend=extend;function forEachValue(e,t){var r;for(var n in e)if(r=t(e[n]))break;return r}e.forEachValue=forEachValue;function forEachKey(e,t){var r;for(var n in e)if(r=t(n))break;return r}e.forEachKey=forEachKey;function lookUp(e,t){return hasProperty(e,t)?e[t]:void 0}e.lookUp=lookUp;function copyMap(e,t){for(var r in e)t[r]=e[r]}e.copyMap=copyMap;function arrayToMap(e,t){var r={};forEach(e,(function(e){r[t(e)]=e}));return r}e.arrayToMap=arrayToMap;function reduceProperties(e,t,r){var n=r;if(e)for(var a in e)hasProperty(e,a)&&(n=t(n,e[a],String(a)));return n}e.reduceProperties=reduceProperties;function isArray(e){return Array.isArray?Array.isArray(e):e instanceof Array}e.isArray=isArray;function memoize(e){var t;return function(){if(e){t=e();e=void 0}return t}}e.memoize=memoize;function formatStringFromArgs(e,t,r){r=r||0;return e.replace(/{(\d+)}/g,(function(e,n){return t[+n+r]}))}e.localizedDiagnosticMessages=void 0;function getLocaleSpecificMessage(t){return e.localizedDiagnosticMessages&&e.localizedDiagnosticMessages[t.key]?e.localizedDiagnosticMessages[t.key]:t.message}e.getLocaleSpecificMessage=getLocaleSpecificMessage;function createFileDiagnostic(e,t,r,n){var a=t+r;_.assert(t>=0,"start must be non-negative, is "+t);_.assert(r>=0,"length must be non-negative, is "+r);if(e){_.assert(t<=e.text.length,"start must be within the bounds of the file. "+t+" > "+e.text.length);_.assert(a<=e.text.length,"end must be the bounds of the file. "+a+" > "+e.text.length)}var i=getLocaleSpecificMessage(n);arguments.length>4&&(i=formatStringFromArgs(i,arguments,4));return{file:e,start:t,length:r,messageText:i,category:n.category,code:n.code}}e.createFileDiagnostic=createFileDiagnostic;function formatMessage(e,t){var r=getLocaleSpecificMessage(t);arguments.length>2&&(r=formatStringFromArgs(r,arguments,2));return r}e.formatMessage=formatMessage;function createCompilerDiagnostic(e){var t=getLocaleSpecificMessage(e);arguments.length>1&&(t=formatStringFromArgs(t,arguments,1));return{file:void 0,start:void 0,length:void 0,messageText:t,category:e.category,code:e.code}}e.createCompilerDiagnostic=createCompilerDiagnostic;function chainDiagnosticMessages(e,t){var r=getLocaleSpecificMessage(t);arguments.length>2&&(r=formatStringFromArgs(r,arguments,2));return{messageText:r,category:t.category,code:t.code,next:e}}e.chainDiagnosticMessages=chainDiagnosticMessages;function concatenateDiagnosticMessageChains(e,t){var r=e;while(r.next)r=r.next;r.next=t;return e}e.concatenateDiagnosticMessageChains=concatenateDiagnosticMessageChains;function compareValues(e,t){return e===t?0:void 0===e?-1:void 0===t?1:e0?1:0}e=e.toUpperCase();t=t.toUpperCase();if(e===t)return 0}return e0&&".."!==lastOrUndefined(a)?a.pop():s&&a.push(s))}return a}function normalizePath(t){t=normalizeSlashes(t);var r=getRootLength(t);var n=getNormalizedParts(t,r);return t.substr(0,r)+n.join(e.directorySeparator)}e.normalizePath=normalizePath;function getDirectoryPath(t){return t.substr(0,Math.max(getRootLength(t),t.lastIndexOf(e.directorySeparator)))}e.getDirectoryPath=getDirectoryPath;function isUrl(e){return e&&!isRootedDiskPath(e)&&-1!==e.indexOf("://")}e.isUrl=isUrl;function isRootedDiskPath(e){return 0!==getRootLength(e)}e.isRootedDiskPath=isRootedDiskPath;function normalizedPathComponents(e,t){var r=getNormalizedParts(e,t);return[e.substr(0,t)].concat(r)}function getNormalizedPathComponents(e,t){e=normalizeSlashes(e);var r=getRootLength(e);if(0===r){e=combinePaths(normalizeSlashes(t),e);r=getRootLength(e)}return normalizedPathComponents(e,r)}e.getNormalizedPathComponents=getNormalizedPathComponents;function getNormalizedAbsolutePath(e,t){return getNormalizedPathFromPathComponents(getNormalizedPathComponents(e,t))}e.getNormalizedAbsolutePath=getNormalizedAbsolutePath;function getNormalizedPathFromPathComponents(t){if(t&&t.length)return t[0]+t.slice(1).join(e.directorySeparator)}e.getNormalizedPathFromPathComponents=getNormalizedPathFromPathComponents;function getNormalizedPathComponentsOfUrl(t){var r=t.length;var n=t.indexOf("://")+"://".length;while(n1&&""===lastOrUndefined(s)&&s.length--;var c;for(c=0;cn&&e.substr(r-n,n)===t}e.fileExtensionIs=fileExtensionIs;function fileExtensionIsAny(e,t){for(var r=0,n=t;r0){u+=")?";m--}o&&(i+="|");i+="("+u+")";o=true}}}if(i)return"^("+i+("exclude"===n?")($|/)":")$")}}e.getRegularExpressionForWildcard=getRegularExpressionForWildcard;function replaceWildcardCharacter(e){return"*"===e?"[^/]*":"?"===e?"[^/]":"\\"+e}function getFileMatcherPatterns(e,t,r,n,a,i){e=normalizePath(e);i=normalizePath(i);var o=combinePaths(i,e);return{includeFilePattern:getRegularExpressionForWildcard(n,o,"files"),includeDirectoryPattern:getRegularExpressionForWildcard(n,o,"directories"),excludePattern:getRegularExpressionForWildcard(r,o,"exclude"),basePaths:getBasePaths(e,n,a)}}e.getFileMatcherPatterns=getFileMatcherPatterns;function matchFiles(e,t,r,n,a,i,o){e=normalizePath(e);i=normalizePath(i);var s=getFileMatcherPatterns(e,t,r,n,a,i);var c=a?"":"i";var l=s.includeFilePattern&&new RegExp(s.includeFilePattern,c);var u=s.includeDirectoryPattern&&new RegExp(s.includeDirectoryPattern,c);var _=s.excludePattern&&new RegExp(s.excludePattern,c);var d=[];for(var p=0,m=s.basePaths;p=0;r--)if(fileExtensionIs(e,t[r]))return adjustExtensionPriority(r);return 0}e.getExtensionPriority=getExtensionPriority;function adjustExtensionPriority(e){return e<2?0:e<5?2:5}e.adjustExtensionPriority=adjustExtensionPriority;function getNextLowestExtensionPriority(e){return e<2?2:5}e.getNextLowestExtensionPriority=getNextLowestExtensionPriority;var l=[".d.ts",".ts",".js",".tsx",".jsx"];function removeFileExtension(e){for(var t=0,r=l;t=e}e.shouldAssert=shouldAssert;function assert(e,t,r){if(!e){var n="";r&&(n="\r\nVerbose Debug Information: "+r());debugger;throw new Error("Debug Failure. False expression: "+(t||"")+n)}}e.assert=assert;function fail(t){e.assert(false,t)}e.fail=fail})(_=e.Debug||(e.Debug={}));function copyListRemovingItem(e,t){var r=[];for(var n=0,a=t;n=2&&(255===a.charCodeAt(0)&&254===a.charCodeAt(1)||254===a.charCodeAt(0)&&255===a.charCodeAt(1))?"unicode":"utf-8"}return r.ReadText()}catch(e){throw e}finally{r.Close()}}}function writeFile(e,t,a){r.Open();n.Open();try{r.Charset="utf-8";r.WriteText(t);r.Position=a?0:3;r.CopyTo(n);n.SaveToFile(e,2)}finally{n.Close();r.Close()}}function getNames(e){var t=[];for(var r=new Enumerator(e);!r.atEnd();r.moveNext())t.push(r.item().Name);return t.sort()}function getDirectories(t){var r=e.GetFolder(t);return getNames(r.subfolders)}function getAccessibleFileSystemEntries(t){try{var r=e.GetFolder(t||".");var n=getNames(r.files);var a=getNames(r.subfolders);return{files:n,directories:a}}catch(e){return{files:[],directories:[]}}}function readDirectory(e,r,n,i){return a.matchFiles(e,r,n,i,false,t.CurrentDirectory,getAccessibleFileSystemEntries)}return{args:i,newLine:"\r\n",useCaseSensitiveFileNames:false,write:function(e){WScript.StdOut.Write(e)},readFile:readFile,writeFile:writeFile,resolvePath:function(t){return e.GetAbsolutePathName(t)},fileExists:function(t){return e.FileExists(t)},directoryExists:function(t){return e.FolderExists(t)},createDirectory:function(t){this.directoryExists(t)||e.CreateFolder(t)},getExecutingFilePath:function(){return WScript.ScriptFullName},getCurrentDirectory:function(){return t.CurrentDirectory},getDirectories:getDirectories,readDirectory:readDirectory,exit:function(e){try{WScript.Quit(e)}catch(e){}}}}function getNodeSystem(){var o=e;var c=t;var l=r;var u=n;var _=s.env["TSC_NONPOLLING_WATCHER"];function createWatchedFileSet(){var e={};var t={};return{addFile:addFile,removeFile:removeFile};function reduceDirWatcherRefCountForFile(t){var r=a.getDirectoryPath(t);if(a.hasProperty(e,r)){var n=e[r];n.referenceCount-=1;if(n.referenceCount<=0){n.close();delete e[r]}}}function addDirWatcher(t){if(a.hasProperty(e,t)){var r=e[t];r.referenceCount+=1}else{var n=o.watch(t,{persistent:true},(function(e,r){return fileEventHandler(e,r,t)}));n.referenceCount=1;e[t]=n}}function addFileWatcherCallback(e,r){a.hasProperty(t,e)?t[e].push(r):t[e]=[r]}function addFile(e,t){addFileWatcherCallback(e,t);addDirWatcher(a.getDirectoryPath(e));return{fileName:e,callback:t}}function removeFile(e){removeFileWatcherCallback(e.fileName,e.callback);reduceDirWatcherRefCountForFile(e.fileName)}function removeFileWatcherCallback(e,r){if(a.hasProperty(t,e)){var n=a.copyListRemovingItem(r,t[e]);0===n.length?delete t[e]:t[e]=n}}function fileEventHandler(e,r,n){var i="string"!==typeof r?void 0:a.getNormalizedAbsolutePath(r,n);if(("change"===e||"rename"===e)&&a.hasProperty(t,i))for(var o=0,s=t[i];o=4}var p=l.platform();var m="win32"!==p&&"win64"!==p&&"darwin"!==p;function readFile(e,t){if(fileExists(e)){var r=o.readFileSync(e);var n=r.length;if(n>=2&&254===r[0]&&255===r[1]){n&=~1;for(var a=0;a=2&&255===r[0]&&254===r[1]?r.toString("utf16le",2):n>=3&&239===r[0]&&187===r[1]&&191===r[2]?r.toString("utf8",3):r.toString("utf8")}}function writeFile(e,t,r){r&&(t="\ufeff"+t);var n;try{n=o.openSync(e,"w");o.writeSync(n,t,void 0,"utf8")}finally{void 0!==n&&o.closeSync(n)}}function getAccessibleFileSystemEntries(e){try{var t=o.readdirSync(e||".").sort();var r=[];var n=[];for(var i=0,s=t;i type."},In_ambient_enum_declarations_member_initializer_must_be_constant_expression:{code:1066,category:e.DiagnosticCategory.Error,key:"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066",message:"In ambient enum declarations member initializer must be constant expression."},Unexpected_token_A_constructor_method_accessor_or_property_was_expected:{code:1068,category:e.DiagnosticCategory.Error,key:"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068",message:"Unexpected token. A constructor, method, accessor, or property was expected."},_0_modifier_cannot_appear_on_a_type_member:{code:1070,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_type_member_1070",message:"'{0}' modifier cannot appear on a type member."},_0_modifier_cannot_appear_on_an_index_signature:{code:1071,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_an_index_signature_1071",message:"'{0}' modifier cannot appear on an index signature."},A_0_modifier_cannot_be_used_with_an_import_declaration:{code:1079,category:e.DiagnosticCategory.Error,key:"A_0_modifier_cannot_be_used_with_an_import_declaration_1079",message:"A '{0}' modifier cannot be used with an import declaration."},Invalid_reference_directive_syntax:{code:1084,category:e.DiagnosticCategory.Error,key:"Invalid_reference_directive_syntax_1084",message:"Invalid 'reference' directive syntax."},Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher:{code:1085,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_1085",message:"Octal literals are not available when targeting ECMAScript 5 and higher."},An_accessor_cannot_be_declared_in_an_ambient_context:{code:1086,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_be_declared_in_an_ambient_context_1086",message:"An accessor cannot be declared in an ambient context."},_0_modifier_cannot_appear_on_a_constructor_declaration:{code:1089,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_constructor_declaration_1089",message:"'{0}' modifier cannot appear on a constructor declaration."},_0_modifier_cannot_appear_on_a_parameter:{code:1090,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_appear_on_a_parameter_1090",message:"'{0}' modifier cannot appear on a parameter."},Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:{code:1091,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091",message:"Only a single variable declaration is allowed in a 'for...in' statement."},Type_parameters_cannot_appear_on_a_constructor_declaration:{code:1092,category:e.DiagnosticCategory.Error,key:"Type_parameters_cannot_appear_on_a_constructor_declaration_1092",message:"Type parameters cannot appear on a constructor declaration."},Type_annotation_cannot_appear_on_a_constructor_declaration:{code:1093,category:e.DiagnosticCategory.Error,key:"Type_annotation_cannot_appear_on_a_constructor_declaration_1093",message:"Type annotation cannot appear on a constructor declaration."},An_accessor_cannot_have_type_parameters:{code:1094,category:e.DiagnosticCategory.Error,key:"An_accessor_cannot_have_type_parameters_1094",message:"An accessor cannot have type parameters."},A_set_accessor_cannot_have_a_return_type_annotation:{code:1095,category:e.DiagnosticCategory.Error,key:"A_set_accessor_cannot_have_a_return_type_annotation_1095",message:"A 'set' accessor cannot have a return type annotation."},An_index_signature_must_have_exactly_one_parameter:{code:1096,category:e.DiagnosticCategory.Error,key:"An_index_signature_must_have_exactly_one_parameter_1096",message:"An index signature must have exactly one parameter."},_0_list_cannot_be_empty:{code:1097,category:e.DiagnosticCategory.Error,key:"_0_list_cannot_be_empty_1097",message:"'{0}' list cannot be empty."},Type_parameter_list_cannot_be_empty:{code:1098,category:e.DiagnosticCategory.Error,key:"Type_parameter_list_cannot_be_empty_1098",message:"Type parameter list cannot be empty."},Type_argument_list_cannot_be_empty:{code:1099,category:e.DiagnosticCategory.Error,key:"Type_argument_list_cannot_be_empty_1099",message:"Type argument list cannot be empty."},Invalid_use_of_0_in_strict_mode:{code:1100,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_in_strict_mode_1100",message:"Invalid use of '{0}' in strict mode."},with_statements_are_not_allowed_in_strict_mode:{code:1101,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_strict_mode_1101",message:"'with' statements are not allowed in strict mode."},delete_cannot_be_called_on_an_identifier_in_strict_mode:{code:1102,category:e.DiagnosticCategory.Error,key:"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102",message:"'delete' cannot be called on an identifier in strict mode."},A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:{code:1104,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104",message:"A 'continue' statement can only be used within an enclosing iteration statement."},A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:{code:1105,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105",message:"A 'break' statement can only be used within an enclosing iteration or switch statement."},Jump_target_cannot_cross_function_boundary:{code:1107,category:e.DiagnosticCategory.Error,key:"Jump_target_cannot_cross_function_boundary_1107",message:"Jump target cannot cross function boundary."},A_return_statement_can_only_be_used_within_a_function_body:{code:1108,category:e.DiagnosticCategory.Error,key:"A_return_statement_can_only_be_used_within_a_function_body_1108",message:"A 'return' statement can only be used within a function body."},Expression_expected:{code:1109,category:e.DiagnosticCategory.Error,key:"Expression_expected_1109",message:"Expression expected."},Type_expected:{code:1110,category:e.DiagnosticCategory.Error,key:"Type_expected_1110",message:"Type expected."},A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:{code:1113,category:e.DiagnosticCategory.Error,key:"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113",message:"A 'default' clause cannot appear more than once in a 'switch' statement."},Duplicate_label_0:{code:1114,category:e.DiagnosticCategory.Error,key:"Duplicate_label_0_1114",message:"Duplicate label '{0}'"},A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:{code:1115,category:e.DiagnosticCategory.Error,key:"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115",message:"A 'continue' statement can only jump to a label of an enclosing iteration statement."},A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:{code:1116,category:e.DiagnosticCategory.Error,key:"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116",message:"A 'break' statement can only jump to a label of an enclosing statement."},An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode:{code:1117,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117",message:"An object literal cannot have multiple properties with the same name in strict mode."},An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:{code:1118,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118",message:"An object literal cannot have multiple get/set accessors with the same name."},An_object_literal_cannot_have_property_and_accessor_with_the_same_name:{code:1119,category:e.DiagnosticCategory.Error,key:"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119",message:"An object literal cannot have property and accessor with the same name."},An_export_assignment_cannot_have_modifiers:{code:1120,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_have_modifiers_1120",message:"An export assignment cannot have modifiers."},Octal_literals_are_not_allowed_in_strict_mode:{code:1121,category:e.DiagnosticCategory.Error,key:"Octal_literals_are_not_allowed_in_strict_mode_1121",message:"Octal literals are not allowed in strict mode."},A_tuple_type_element_list_cannot_be_empty:{code:1122,category:e.DiagnosticCategory.Error,key:"A_tuple_type_element_list_cannot_be_empty_1122",message:"A tuple type element list cannot be empty."},Variable_declaration_list_cannot_be_empty:{code:1123,category:e.DiagnosticCategory.Error,key:"Variable_declaration_list_cannot_be_empty_1123",message:"Variable declaration list cannot be empty."},Digit_expected:{code:1124,category:e.DiagnosticCategory.Error,key:"Digit_expected_1124",message:"Digit expected."},Hexadecimal_digit_expected:{code:1125,category:e.DiagnosticCategory.Error,key:"Hexadecimal_digit_expected_1125",message:"Hexadecimal digit expected."},Unexpected_end_of_text:{code:1126,category:e.DiagnosticCategory.Error,key:"Unexpected_end_of_text_1126",message:"Unexpected end of text."},Invalid_character:{code:1127,category:e.DiagnosticCategory.Error,key:"Invalid_character_1127",message:"Invalid character."},Declaration_or_statement_expected:{code:1128,category:e.DiagnosticCategory.Error,key:"Declaration_or_statement_expected_1128",message:"Declaration or statement expected."},Statement_expected:{code:1129,category:e.DiagnosticCategory.Error,key:"Statement_expected_1129",message:"Statement expected."},case_or_default_expected:{code:1130,category:e.DiagnosticCategory.Error,key:"case_or_default_expected_1130",message:"'case' or 'default' expected."},Property_or_signature_expected:{code:1131,category:e.DiagnosticCategory.Error,key:"Property_or_signature_expected_1131",message:"Property or signature expected."},Enum_member_expected:{code:1132,category:e.DiagnosticCategory.Error,key:"Enum_member_expected_1132",message:"Enum member expected."},Variable_declaration_expected:{code:1134,category:e.DiagnosticCategory.Error,key:"Variable_declaration_expected_1134",message:"Variable declaration expected."},Argument_expression_expected:{code:1135,category:e.DiagnosticCategory.Error,key:"Argument_expression_expected_1135",message:"Argument expression expected."},Property_assignment_expected:{code:1136,category:e.DiagnosticCategory.Error,key:"Property_assignment_expected_1136",message:"Property assignment expected."},Expression_or_comma_expected:{code:1137,category:e.DiagnosticCategory.Error,key:"Expression_or_comma_expected_1137",message:"Expression or comma expected."},Parameter_declaration_expected:{code:1138,category:e.DiagnosticCategory.Error,key:"Parameter_declaration_expected_1138",message:"Parameter declaration expected."},Type_parameter_declaration_expected:{code:1139,category:e.DiagnosticCategory.Error,key:"Type_parameter_declaration_expected_1139",message:"Type parameter declaration expected."},Type_argument_expected:{code:1140,category:e.DiagnosticCategory.Error,key:"Type_argument_expected_1140",message:"Type argument expected."},String_literal_expected:{code:1141,category:e.DiagnosticCategory.Error,key:"String_literal_expected_1141",message:"String literal expected."},Line_break_not_permitted_here:{code:1142,category:e.DiagnosticCategory.Error,key:"Line_break_not_permitted_here_1142",message:"Line break not permitted here."},or_expected:{code:1144,category:e.DiagnosticCategory.Error,key:"or_expected_1144",message:"'{' or ';' expected."},Declaration_expected:{code:1146,category:e.DiagnosticCategory.Error,key:"Declaration_expected_1146",message:"Declaration expected."},Import_declarations_in_a_namespace_cannot_reference_a_module:{code:1147,category:e.DiagnosticCategory.Error,key:"Import_declarations_in_a_namespace_cannot_reference_a_module_1147",message:"Import declarations in a namespace cannot reference a module."},Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:{code:1148,category:e.DiagnosticCategory.Error,key:"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148",message:"Cannot use imports, exports, or module augmentations when '--module' is 'none'."},File_name_0_differs_from_already_included_file_name_1_only_in_casing:{code:1149,category:e.DiagnosticCategory.Error,key:"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149",message:"File name '{0}' differs from already included file name '{1}' only in casing"},new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead:{code:1150,category:e.DiagnosticCategory.Error,key:"new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150",message:"'new T[]' cannot be used to create an array. Use 'new Array()' instead."},const_declarations_must_be_initialized:{code:1155,category:e.DiagnosticCategory.Error,key:"const_declarations_must_be_initialized_1155",message:"'const' declarations must be initialized"},const_declarations_can_only_be_declared_inside_a_block:{code:1156,category:e.DiagnosticCategory.Error,key:"const_declarations_can_only_be_declared_inside_a_block_1156",message:"'const' declarations can only be declared inside a block."},let_declarations_can_only_be_declared_inside_a_block:{code:1157,category:e.DiagnosticCategory.Error,key:"let_declarations_can_only_be_declared_inside_a_block_1157",message:"'let' declarations can only be declared inside a block."},Unterminated_template_literal:{code:1160,category:e.DiagnosticCategory.Error,key:"Unterminated_template_literal_1160",message:"Unterminated template literal."},Unterminated_regular_expression_literal:{code:1161,category:e.DiagnosticCategory.Error,key:"Unterminated_regular_expression_literal_1161",message:"Unterminated regular expression literal."},An_object_member_cannot_be_declared_optional:{code:1162,category:e.DiagnosticCategory.Error,key:"An_object_member_cannot_be_declared_optional_1162",message:"An object member cannot be declared optional."},A_yield_expression_is_only_allowed_in_a_generator_body:{code:1163,category:e.DiagnosticCategory.Error,key:"A_yield_expression_is_only_allowed_in_a_generator_body_1163",message:"A 'yield' expression is only allowed in a generator body."},Computed_property_names_are_not_allowed_in_enums:{code:1164,category:e.DiagnosticCategory.Error,key:"Computed_property_names_are_not_allowed_in_enums_1164",message:"Computed property names are not allowed in enums."},A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol:{code:1165,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol_1165",message:"A computed property name in an ambient context must directly refer to a built-in symbol."},A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol:{code:1166,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol_1166",message:"A computed property name in a class property declaration must directly refer to a built-in symbol."},A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol:{code:1168,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol_1168",message:"A computed property name in a method overload must directly refer to a built-in symbol."},A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol:{code:1169,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol_1169",message:"A computed property name in an interface must directly refer to a built-in symbol."},A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol:{code:1170,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol_1170",message:"A computed property name in a type literal must directly refer to a built-in symbol."},A_comma_expression_is_not_allowed_in_a_computed_property_name:{code:1171,category:e.DiagnosticCategory.Error,key:"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171",message:"A comma expression is not allowed in a computed property name."},extends_clause_already_seen:{code:1172,category:e.DiagnosticCategory.Error,key:"extends_clause_already_seen_1172",message:"'extends' clause already seen."},extends_clause_must_precede_implements_clause:{code:1173,category:e.DiagnosticCategory.Error,key:"extends_clause_must_precede_implements_clause_1173",message:"'extends' clause must precede 'implements' clause."},Classes_can_only_extend_a_single_class:{code:1174,category:e.DiagnosticCategory.Error,key:"Classes_can_only_extend_a_single_class_1174",message:"Classes can only extend a single class."},implements_clause_already_seen:{code:1175,category:e.DiagnosticCategory.Error,key:"implements_clause_already_seen_1175",message:"'implements' clause already seen."},Interface_declaration_cannot_have_implements_clause:{code:1176,category:e.DiagnosticCategory.Error,key:"Interface_declaration_cannot_have_implements_clause_1176",message:"Interface declaration cannot have 'implements' clause."},Binary_digit_expected:{code:1177,category:e.DiagnosticCategory.Error,key:"Binary_digit_expected_1177",message:"Binary digit expected."},Octal_digit_expected:{code:1178,category:e.DiagnosticCategory.Error,key:"Octal_digit_expected_1178",message:"Octal digit expected."},Unexpected_token_expected:{code:1179,category:e.DiagnosticCategory.Error,key:"Unexpected_token_expected_1179",message:"Unexpected token. '{' expected."},Property_destructuring_pattern_expected:{code:1180,category:e.DiagnosticCategory.Error,key:"Property_destructuring_pattern_expected_1180",message:"Property destructuring pattern expected."},Array_element_destructuring_pattern_expected:{code:1181,category:e.DiagnosticCategory.Error,key:"Array_element_destructuring_pattern_expected_1181",message:"Array element destructuring pattern expected."},A_destructuring_declaration_must_have_an_initializer:{code:1182,category:e.DiagnosticCategory.Error,key:"A_destructuring_declaration_must_have_an_initializer_1182",message:"A destructuring declaration must have an initializer."},An_implementation_cannot_be_declared_in_ambient_contexts:{code:1183,category:e.DiagnosticCategory.Error,key:"An_implementation_cannot_be_declared_in_ambient_contexts_1183",message:"An implementation cannot be declared in ambient contexts."},Modifiers_cannot_appear_here:{code:1184,category:e.DiagnosticCategory.Error,key:"Modifiers_cannot_appear_here_1184",message:"Modifiers cannot appear here."},Merge_conflict_marker_encountered:{code:1185,category:e.DiagnosticCategory.Error,key:"Merge_conflict_marker_encountered_1185",message:"Merge conflict marker encountered."},A_rest_element_cannot_have_an_initializer:{code:1186,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_have_an_initializer_1186",message:"A rest element cannot have an initializer."},A_parameter_property_may_not_be_declared_using_a_binding_pattern:{code:1187,category:e.DiagnosticCategory.Error,key:"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187",message:"A parameter property may not be declared using a binding pattern."},Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:{code:1188,category:e.DiagnosticCategory.Error,key:"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188",message:"Only a single variable declaration is allowed in a 'for...of' statement."},The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:{code:1189,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189",message:"The variable declaration of a 'for...in' statement cannot have an initializer."},The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:{code:1190,category:e.DiagnosticCategory.Error,key:"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190",message:"The variable declaration of a 'for...of' statement cannot have an initializer."},An_import_declaration_cannot_have_modifiers:{code:1191,category:e.DiagnosticCategory.Error,key:"An_import_declaration_cannot_have_modifiers_1191",message:"An import declaration cannot have modifiers."},Module_0_has_no_default_export:{code:1192,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_default_export_1192",message:"Module '{0}' has no default export."},An_export_declaration_cannot_have_modifiers:{code:1193,category:e.DiagnosticCategory.Error,key:"An_export_declaration_cannot_have_modifiers_1193",message:"An export declaration cannot have modifiers."},Export_declarations_are_not_permitted_in_a_namespace:{code:1194,category:e.DiagnosticCategory.Error,key:"Export_declarations_are_not_permitted_in_a_namespace_1194",message:"Export declarations are not permitted in a namespace."},Catch_clause_variable_name_must_be_an_identifier:{code:1195,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_name_must_be_an_identifier_1195",message:"Catch clause variable name must be an identifier."},Catch_clause_variable_cannot_have_a_type_annotation:{code:1196,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_a_type_annotation_1196",message:"Catch clause variable cannot have a type annotation."},Catch_clause_variable_cannot_have_an_initializer:{code:1197,category:e.DiagnosticCategory.Error,key:"Catch_clause_variable_cannot_have_an_initializer_1197",message:"Catch clause variable cannot have an initializer."},An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:{code:1198,category:e.DiagnosticCategory.Error,key:"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198",message:"An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."},Unterminated_Unicode_escape_sequence:{code:1199,category:e.DiagnosticCategory.Error,key:"Unterminated_Unicode_escape_sequence_1199",message:"Unterminated Unicode escape sequence."},Line_terminator_not_permitted_before_arrow:{code:1200,category:e.DiagnosticCategory.Error,key:"Line_terminator_not_permitted_before_arrow_1200",message:"Line terminator not permitted before arrow."},Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:{code:1202,category:e.DiagnosticCategory.Error,key:"Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asteri_1202",message:"Import assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."},Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_default_or_another_module_format_instead:{code:1203,category:e.DiagnosticCategory.Error,key:"Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_defaul_1203",message:"Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead."},Decorators_are_not_valid_here:{code:1206,category:e.DiagnosticCategory.Error,key:"Decorators_are_not_valid_here_1206",message:"Decorators are not valid here."},Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:{code:1207,category:e.DiagnosticCategory.Error,key:"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207",message:"Decorators cannot be applied to multiple get/set accessors of the same name."},Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided:{code:1208,category:e.DiagnosticCategory.Error,key:"Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208",message:"Cannot compile namespaces when the '--isolatedModules' flag is provided."},Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided:{code:1209,category:e.DiagnosticCategory.Error,key:"Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209",message:"Ambient const enums are not allowed when the '--isolatedModules' flag is provided."},Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:{code:1210,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210",message:"Invalid use of '{0}'. Class definitions are automatically in strict mode."},A_class_declaration_without_the_default_modifier_must_have_a_name:{code:1211,category:e.DiagnosticCategory.Error,key:"A_class_declaration_without_the_default_modifier_must_have_a_name_1211",message:"A class declaration without the 'default' modifier must have a name"},Identifier_expected_0_is_a_reserved_word_in_strict_mode:{code:1212,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212",message:"Identifier expected. '{0}' is a reserved word in strict mode"},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:{code:1213,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213",message:"Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."},Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:{code:1214,category:e.DiagnosticCategory.Error,key:"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214",message:"Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."},Invalid_use_of_0_Modules_are_automatically_in_strict_mode:{code:1215,category:e.DiagnosticCategory.Error,key:"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215",message:"Invalid use of '{0}'. Modules are automatically in strict mode."},Export_assignment_is_not_supported_when_module_flag_is_system:{code:1218,category:e.DiagnosticCategory.Error,key:"Export_assignment_is_not_supported_when_module_flag_is_system_1218",message:"Export assignment is not supported when '--module' flag is 'system'."},Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning:{code:1219,category:e.DiagnosticCategory.Error,key:"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219",message:"Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning."},Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:{code:1220,category:e.DiagnosticCategory.Error,key:"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220",message:"Generators are only available when targeting ECMAScript 2015 or higher."},Generators_are_not_allowed_in_an_ambient_context:{code:1221,category:e.DiagnosticCategory.Error,key:"Generators_are_not_allowed_in_an_ambient_context_1221",message:"Generators are not allowed in an ambient context."},An_overload_signature_cannot_be_declared_as_a_generator:{code:1222,category:e.DiagnosticCategory.Error,key:"An_overload_signature_cannot_be_declared_as_a_generator_1222",message:"An overload signature cannot be declared as a generator."},_0_tag_already_specified:{code:1223,category:e.DiagnosticCategory.Error,key:"_0_tag_already_specified_1223",message:"'{0}' tag already specified."},Signature_0_must_have_a_type_predicate:{code:1224,category:e.DiagnosticCategory.Error,key:"Signature_0_must_have_a_type_predicate_1224",message:"Signature '{0}' must have a type predicate."},Cannot_find_parameter_0:{code:1225,category:e.DiagnosticCategory.Error,key:"Cannot_find_parameter_0_1225",message:"Cannot find parameter '{0}'."},Type_predicate_0_is_not_assignable_to_1:{code:1226,category:e.DiagnosticCategory.Error,key:"Type_predicate_0_is_not_assignable_to_1_1226",message:"Type predicate '{0}' is not assignable to '{1}'."},Parameter_0_is_not_in_the_same_position_as_parameter_1:{code:1227,category:e.DiagnosticCategory.Error,key:"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227",message:"Parameter '{0}' is not in the same position as parameter '{1}'."},A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:{code:1228,category:e.DiagnosticCategory.Error,key:"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228",message:"A type predicate is only allowed in return type position for functions and methods."},A_type_predicate_cannot_reference_a_rest_parameter:{code:1229,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_a_rest_parameter_1229",message:"A type predicate cannot reference a rest parameter."},A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:{code:1230,category:e.DiagnosticCategory.Error,key:"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230",message:"A type predicate cannot reference element '{0}' in a binding pattern."},An_export_assignment_can_only_be_used_in_a_module:{code:1231,category:e.DiagnosticCategory.Error,key:"An_export_assignment_can_only_be_used_in_a_module_1231",message:"An export assignment can only be used in a module."},An_import_declaration_can_only_be_used_in_a_namespace_or_module:{code:1232,category:e.DiagnosticCategory.Error,key:"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232",message:"An import declaration can only be used in a namespace or module."},An_export_declaration_can_only_be_used_in_a_module:{code:1233,category:e.DiagnosticCategory.Error,key:"An_export_declaration_can_only_be_used_in_a_module_1233",message:"An export declaration can only be used in a module."},An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:{code:1234,category:e.DiagnosticCategory.Error,key:"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234",message:"An ambient module declaration is only allowed at the top level in a file."},A_namespace_declaration_is_only_allowed_in_a_namespace_or_module:{code:1235,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235",message:"A namespace declaration is only allowed in a namespace or module."},The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:{code:1236,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236",message:"The return type of a property decorator function must be either 'void' or 'any'."},The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:{code:1237,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237",message:"The return type of a parameter decorator function must be either 'void' or 'any'."},Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:{code:1238,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238",message:"Unable to resolve signature of class decorator when called as an expression."},Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:{code:1239,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239",message:"Unable to resolve signature of parameter decorator when called as an expression."},Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:{code:1240,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240",message:"Unable to resolve signature of property decorator when called as an expression."},Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:{code:1241,category:e.DiagnosticCategory.Error,key:"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241",message:"Unable to resolve signature of method decorator when called as an expression."},abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:{code:1242,category:e.DiagnosticCategory.Error,key:"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242",message:"'abstract' modifier can only appear on a class, method, or property declaration."},_0_modifier_cannot_be_used_with_1_modifier:{code:1243,category:e.DiagnosticCategory.Error,key:"_0_modifier_cannot_be_used_with_1_modifier_1243",message:"'{0}' modifier cannot be used with '{1}' modifier."},Abstract_methods_can_only_appear_within_an_abstract_class:{code:1244,category:e.DiagnosticCategory.Error,key:"Abstract_methods_can_only_appear_within_an_abstract_class_1244",message:"Abstract methods can only appear within an abstract class."},Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:{code:1245,category:e.DiagnosticCategory.Error,key:"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245",message:"Method '{0}' cannot have an implementation because it is marked abstract."},An_interface_property_cannot_have_an_initializer:{code:1246,category:e.DiagnosticCategory.Error,key:"An_interface_property_cannot_have_an_initializer_1246",message:"An interface property cannot have an initializer."},A_type_literal_property_cannot_have_an_initializer:{code:1247,category:e.DiagnosticCategory.Error,key:"A_type_literal_property_cannot_have_an_initializer_1247",message:"A type literal property cannot have an initializer."},A_class_member_cannot_have_the_0_keyword:{code:1248,category:e.DiagnosticCategory.Error,key:"A_class_member_cannot_have_the_0_keyword_1248",message:"A class member cannot have the '{0}' keyword."},A_decorator_can_only_decorate_a_method_implementation_not_an_overload:{code:1249,category:e.DiagnosticCategory.Error,key:"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249",message:"A decorator can only decorate a method implementation, not an overload."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5:{code:1250,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:{code:1251,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."},Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:{code:1252,category:e.DiagnosticCategory.Error,key:"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252",message:"Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."},_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag:{code:1253,category:e.DiagnosticCategory.Error,key:"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253",message:"'{0}' tag cannot be used independently as a top level JSDoc tag."},with_statements_are_not_allowed_in_an_async_function_block:{code:1300,category:e.DiagnosticCategory.Error,key:"with_statements_are_not_allowed_in_an_async_function_block_1300",message:"'with' statements are not allowed in an async function block."},await_expression_is_only_allowed_within_an_async_function:{code:1308,category:e.DiagnosticCategory.Error,key:"await_expression_is_only_allowed_within_an_async_function_1308",message:"'await' expression is only allowed within an async function."},Async_functions_are_only_available_when_targeting_ECMAScript_2015_or_higher:{code:1311,category:e.DiagnosticCategory.Error,key:"Async_functions_are_only_available_when_targeting_ECMAScript_2015_or_higher_1311",message:"Async functions are only available when targeting ECMAScript 2015 or higher."},can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment:{code:1312,category:e.DiagnosticCategory.Error,key:"can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312",message:"'=' can only be used in an object literal property inside a destructuring assignment."},The_body_of_an_if_statement_cannot_be_the_empty_statement:{code:1313,category:e.DiagnosticCategory.Error,key:"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313",message:"The body of an 'if' statement cannot be the empty statement."},Global_module_exports_may_only_appear_in_module_files:{code:1314,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_module_files_1314",message:"Global module exports may only appear in module files."},Global_module_exports_may_only_appear_in_declaration_files:{code:1315,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_in_declaration_files_1315",message:"Global module exports may only appear in declaration files."},Global_module_exports_may_only_appear_at_top_level:{code:1316,category:e.DiagnosticCategory.Error,key:"Global_module_exports_may_only_appear_at_top_level_1316",message:"Global module exports may only appear at top level."},A_parameter_property_cannot_be_declared_using_a_rest_parameter:{code:1317,category:e.DiagnosticCategory.Error,key:"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317",message:"A parameter property cannot be declared using a rest parameter."},Duplicate_identifier_0:{code:2300,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_2300",message:"Duplicate identifier '{0}'."},Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:{code:2301,category:e.DiagnosticCategory.Error,key:"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301",message:"Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."},Static_members_cannot_reference_class_type_parameters:{code:2302,category:e.DiagnosticCategory.Error,key:"Static_members_cannot_reference_class_type_parameters_2302",message:"Static members cannot reference class type parameters."},Circular_definition_of_import_alias_0:{code:2303,category:e.DiagnosticCategory.Error,key:"Circular_definition_of_import_alias_0_2303",message:"Circular definition of import alias '{0}'."},Cannot_find_name_0:{code:2304,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_2304",message:"Cannot find name '{0}'."},Module_0_has_no_exported_member_1:{code:2305,category:e.DiagnosticCategory.Error,key:"Module_0_has_no_exported_member_1_2305",message:"Module '{0}' has no exported member '{1}'."},File_0_is_not_a_module:{code:2306,category:e.DiagnosticCategory.Error,key:"File_0_is_not_a_module_2306",message:"File '{0}' is not a module."},Cannot_find_module_0:{code:2307,category:e.DiagnosticCategory.Error,key:"Cannot_find_module_0_2307",message:"Cannot find module '{0}'."},Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:{code:2308,category:e.DiagnosticCategory.Error,key:"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308",message:"Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."},An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:{code:2309,category:e.DiagnosticCategory.Error,key:"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309",message:"An export assignment cannot be used in a module with other exported elements."},Type_0_recursively_references_itself_as_a_base_type:{code:2310,category:e.DiagnosticCategory.Error,key:"Type_0_recursively_references_itself_as_a_base_type_2310",message:"Type '{0}' recursively references itself as a base type."},A_class_may_only_extend_another_class:{code:2311,category:e.DiagnosticCategory.Error,key:"A_class_may_only_extend_another_class_2311",message:"A class may only extend another class."},An_interface_may_only_extend_a_class_or_another_interface:{code:2312,category:e.DiagnosticCategory.Error,key:"An_interface_may_only_extend_a_class_or_another_interface_2312",message:"An interface may only extend a class or another interface."},Type_parameter_0_has_a_circular_constraint:{code:2313,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_has_a_circular_constraint_2313",message:"Type parameter '{0}' has a circular constraint."},Generic_type_0_requires_1_type_argument_s:{code:2314,category:e.DiagnosticCategory.Error,key:"Generic_type_0_requires_1_type_argument_s_2314",message:"Generic type '{0}' requires {1} type argument(s)."},Type_0_is_not_generic:{code:2315,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_generic_2315",message:"Type '{0}' is not generic."},Global_type_0_must_be_a_class_or_interface_type:{code:2316,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_be_a_class_or_interface_type_2316",message:"Global type '{0}' must be a class or interface type."},Global_type_0_must_have_1_type_parameter_s:{code:2317,category:e.DiagnosticCategory.Error,key:"Global_type_0_must_have_1_type_parameter_s_2317",message:"Global type '{0}' must have {1} type parameter(s)."},Cannot_find_global_type_0:{code:2318,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_type_0_2318",message:"Cannot find global type '{0}'."},Named_property_0_of_types_1_and_2_are_not_identical:{code:2319,category:e.DiagnosticCategory.Error,key:"Named_property_0_of_types_1_and_2_are_not_identical_2319",message:"Named property '{0}' of types '{1}' and '{2}' are not identical."},Interface_0_cannot_simultaneously_extend_types_1_and_2:{code:2320,category:e.DiagnosticCategory.Error,key:"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320",message:"Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."},Excessive_stack_depth_comparing_types_0_and_1:{code:2321,category:e.DiagnosticCategory.Error,key:"Excessive_stack_depth_comparing_types_0_and_1_2321",message:"Excessive stack depth comparing types '{0}' and '{1}'."},Type_0_is_not_assignable_to_type_1:{code:2322,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_assignable_to_type_1_2322",message:"Type '{0}' is not assignable to type '{1}'."},Cannot_redeclare_exported_variable_0:{code:2323,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_exported_variable_0_2323",message:"Cannot redeclare exported variable '{0}'."},Property_0_is_missing_in_type_1:{code:2324,category:e.DiagnosticCategory.Error,key:"Property_0_is_missing_in_type_1_2324",message:"Property '{0}' is missing in type '{1}'."},Property_0_is_private_in_type_1_but_not_in_type_2:{code:2325,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_in_type_1_but_not_in_type_2_2325",message:"Property '{0}' is private in type '{1}' but not in type '{2}'."},Types_of_property_0_are_incompatible:{code:2326,category:e.DiagnosticCategory.Error,key:"Types_of_property_0_are_incompatible_2326",message:"Types of property '{0}' are incompatible."},Property_0_is_optional_in_type_1_but_required_in_type_2:{code:2327,category:e.DiagnosticCategory.Error,key:"Property_0_is_optional_in_type_1_but_required_in_type_2_2327",message:"Property '{0}' is optional in type '{1}' but required in type '{2}'."},Types_of_parameters_0_and_1_are_incompatible:{code:2328,category:e.DiagnosticCategory.Error,key:"Types_of_parameters_0_and_1_are_incompatible_2328",message:"Types of parameters '{0}' and '{1}' are incompatible."},Index_signature_is_missing_in_type_0:{code:2329,category:e.DiagnosticCategory.Error,key:"Index_signature_is_missing_in_type_0_2329",message:"Index signature is missing in type '{0}'."},Index_signatures_are_incompatible:{code:2330,category:e.DiagnosticCategory.Error,key:"Index_signatures_are_incompatible_2330",message:"Index signatures are incompatible."},this_cannot_be_referenced_in_a_module_or_namespace_body:{code:2331,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_module_or_namespace_body_2331",message:"'this' cannot be referenced in a module or namespace body."},this_cannot_be_referenced_in_current_location:{code:2332,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_current_location_2332",message:"'this' cannot be referenced in current location."},this_cannot_be_referenced_in_constructor_arguments:{code:2333,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_constructor_arguments_2333",message:"'this' cannot be referenced in constructor arguments."},this_cannot_be_referenced_in_a_static_property_initializer:{code:2334,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_static_property_initializer_2334",message:"'this' cannot be referenced in a static property initializer."},super_can_only_be_referenced_in_a_derived_class:{code:2335,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_a_derived_class_2335",message:"'super' can only be referenced in a derived class."},super_cannot_be_referenced_in_constructor_arguments:{code:2336,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_constructor_arguments_2336",message:"'super' cannot be referenced in constructor arguments."},Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:{code:2337,category:e.DiagnosticCategory.Error,key:"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337",message:"Super calls are not permitted outside constructors or in nested functions inside constructors."},super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:{code:2338,category:e.DiagnosticCategory.Error,key:"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338",message:"'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."},Property_0_does_not_exist_on_type_1:{code:2339,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_type_1_2339",message:"Property '{0}' does not exist on type '{1}'."},Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:{code:2340,category:e.DiagnosticCategory.Error,key:"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340",message:"Only public and protected methods of the base class are accessible via the 'super' keyword."},Property_0_is_private_and_only_accessible_within_class_1:{code:2341,category:e.DiagnosticCategory.Error,key:"Property_0_is_private_and_only_accessible_within_class_1_2341",message:"Property '{0}' is private and only accessible within class '{1}'."},An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:{code:2342,category:e.DiagnosticCategory.Error,key:"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342",message:"An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."},Type_0_does_not_satisfy_the_constraint_1:{code:2344,category:e.DiagnosticCategory.Error,key:"Type_0_does_not_satisfy_the_constraint_1_2344",message:"Type '{0}' does not satisfy the constraint '{1}'."},Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:{code:2345,category:e.DiagnosticCategory.Error,key:"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345",message:"Argument of type '{0}' is not assignable to parameter of type '{1}'."},Supplied_parameters_do_not_match_any_signature_of_call_target:{code:2346,category:e.DiagnosticCategory.Error,key:"Supplied_parameters_do_not_match_any_signature_of_call_target_2346",message:"Supplied parameters do not match any signature of call target."},Untyped_function_calls_may_not_accept_type_arguments:{code:2347,category:e.DiagnosticCategory.Error,key:"Untyped_function_calls_may_not_accept_type_arguments_2347",message:"Untyped function calls may not accept type arguments."},Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:{code:2348,category:e.DiagnosticCategory.Error,key:"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348",message:"Value of type '{0}' is not callable. Did you mean to include 'new'?"},Cannot_invoke_an_expression_whose_type_lacks_a_call_signature:{code:2349,category:e.DiagnosticCategory.Error,key:"Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_2349",message:"Cannot invoke an expression whose type lacks a call signature."},Only_a_void_function_can_be_called_with_the_new_keyword:{code:2350,category:e.DiagnosticCategory.Error,key:"Only_a_void_function_can_be_called_with_the_new_keyword_2350",message:"Only a void function can be called with the 'new' keyword."},Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature:{code:2351,category:e.DiagnosticCategory.Error,key:"Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351",message:"Cannot use 'new' with an expression whose type lacks a call or construct signature."},Type_0_cannot_be_converted_to_type_1:{code:2352,category:e.DiagnosticCategory.Error,key:"Type_0_cannot_be_converted_to_type_1_2352",message:"Type '{0}' cannot be converted to type '{1}'."},Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:{code:2353,category:e.DiagnosticCategory.Error,key:"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353",message:"Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."},No_best_common_type_exists_among_return_expressions:{code:2354,category:e.DiagnosticCategory.Error,key:"No_best_common_type_exists_among_return_expressions_2354",message:"No best common type exists among return expressions."},A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value:{code:2355,category:e.DiagnosticCategory.Error,key:"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355",message:"A function whose declared type is neither 'void' nor 'any' must return a value."},An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type:{code:2356,category:e.DiagnosticCategory.Error,key:"An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type_2356",message:"An arithmetic operand must be of type 'any', 'number' or an enum type."},The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer:{code:2357,category:e.DiagnosticCategory.Error,key:"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer_2357",message:"The operand of an increment or decrement operator must be a variable, property or indexer."},The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2358,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358",message:"The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."},The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type:{code:2359,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359",message:"The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type."},The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol:{code:2360,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360",message:"The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'."},The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2361,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361",message:"The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter"},The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2362,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2362",message:"The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type:{code:2363,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2363",message:"The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type."},Invalid_left_hand_side_of_assignment_expression:{code:2364,category:e.DiagnosticCategory.Error,key:"Invalid_left_hand_side_of_assignment_expression_2364",message:"Invalid left-hand side of assignment expression."},Operator_0_cannot_be_applied_to_types_1_and_2:{code:2365,category:e.DiagnosticCategory.Error,key:"Operator_0_cannot_be_applied_to_types_1_and_2_2365",message:"Operator '{0}' cannot be applied to types '{1}' and '{2}'."},Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:{code:2366,category:e.DiagnosticCategory.Error,key:"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366",message:"Function lacks ending return statement and return type does not include 'undefined'."},Type_parameter_name_cannot_be_0:{code:2368,category:e.DiagnosticCategory.Error,key:"Type_parameter_name_cannot_be_0_2368",message:"Type parameter name cannot be '{0}'"},A_parameter_property_is_only_allowed_in_a_constructor_implementation:{code:2369,category:e.DiagnosticCategory.Error,key:"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369",message:"A parameter property is only allowed in a constructor implementation."},A_rest_parameter_must_be_of_an_array_type:{code:2370,category:e.DiagnosticCategory.Error,key:"A_rest_parameter_must_be_of_an_array_type_2370",message:"A rest parameter must be of an array type."},A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:{code:2371,category:e.DiagnosticCategory.Error,key:"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371",message:"A parameter initializer is only allowed in a function or constructor implementation."},Parameter_0_cannot_be_referenced_in_its_initializer:{code:2372,category:e.DiagnosticCategory.Error,key:"Parameter_0_cannot_be_referenced_in_its_initializer_2372",message:"Parameter '{0}' cannot be referenced in its initializer."},Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it:{code:2373,category:e.DiagnosticCategory.Error,key:"Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373",message:"Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it."},Duplicate_string_index_signature:{code:2374,category:e.DiagnosticCategory.Error,key:"Duplicate_string_index_signature_2374",message:"Duplicate string index signature."},Duplicate_number_index_signature:{code:2375,category:e.DiagnosticCategory.Error,key:"Duplicate_number_index_signature_2375",message:"Duplicate number index signature."},A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties:{code:2376,category:e.DiagnosticCategory.Error,key:"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376",message:"A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties."},Constructors_for_derived_classes_must_contain_a_super_call:{code:2377,category:e.DiagnosticCategory.Error,key:"Constructors_for_derived_classes_must_contain_a_super_call_2377",message:"Constructors for derived classes must contain a 'super' call."},A_get_accessor_must_return_a_value:{code:2378,category:e.DiagnosticCategory.Error,key:"A_get_accessor_must_return_a_value_2378",message:"A 'get' accessor must return a value."},Getter_and_setter_accessors_do_not_agree_in_visibility:{code:2379,category:e.DiagnosticCategory.Error,key:"Getter_and_setter_accessors_do_not_agree_in_visibility_2379",message:"Getter and setter accessors do not agree in visibility."},get_and_set_accessor_must_have_the_same_type:{code:2380,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_type_2380",message:"'get' and 'set' accessor must have the same type."},A_signature_with_an_implementation_cannot_use_a_string_literal_type:{code:2381,category:e.DiagnosticCategory.Error,key:"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381",message:"A signature with an implementation cannot use a string literal type."},Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:{code:2382,category:e.DiagnosticCategory.Error,key:"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382",message:"Specialized overload signature is not assignable to any non-specialized signature."},Overload_signatures_must_all_be_exported_or_non_exported:{code:2383,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_exported_or_non_exported_2383",message:"Overload signatures must all be exported or non-exported."},Overload_signatures_must_all_be_ambient_or_non_ambient:{code:2384,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_ambient_or_non_ambient_2384",message:"Overload signatures must all be ambient or non-ambient."},Overload_signatures_must_all_be_public_private_or_protected:{code:2385,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_public_private_or_protected_2385",message:"Overload signatures must all be public, private or protected."},Overload_signatures_must_all_be_optional_or_required:{code:2386,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_optional_or_required_2386",message:"Overload signatures must all be optional or required."},Function_overload_must_be_static:{code:2387,category:e.DiagnosticCategory.Error,key:"Function_overload_must_be_static_2387",message:"Function overload must be static."},Function_overload_must_not_be_static:{code:2388,category:e.DiagnosticCategory.Error,key:"Function_overload_must_not_be_static_2388",message:"Function overload must not be static."},Function_implementation_name_must_be_0:{code:2389,category:e.DiagnosticCategory.Error,key:"Function_implementation_name_must_be_0_2389",message:"Function implementation name must be '{0}'."},Constructor_implementation_is_missing:{code:2390,category:e.DiagnosticCategory.Error,key:"Constructor_implementation_is_missing_2390",message:"Constructor implementation is missing."},Function_implementation_is_missing_or_not_immediately_following_the_declaration:{code:2391,category:e.DiagnosticCategory.Error,key:"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391",message:"Function implementation is missing or not immediately following the declaration."},Multiple_constructor_implementations_are_not_allowed:{code:2392,category:e.DiagnosticCategory.Error,key:"Multiple_constructor_implementations_are_not_allowed_2392",message:"Multiple constructor implementations are not allowed."},Duplicate_function_implementation:{code:2393,category:e.DiagnosticCategory.Error,key:"Duplicate_function_implementation_2393",message:"Duplicate function implementation."},Overload_signature_is_not_compatible_with_function_implementation:{code:2394,category:e.DiagnosticCategory.Error,key:"Overload_signature_is_not_compatible_with_function_implementation_2394",message:"Overload signature is not compatible with function implementation."},Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:{code:2395,category:e.DiagnosticCategory.Error,key:"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395",message:"Individual declarations in merged declaration '{0}' must be all exported or all local."},Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:{code:2396,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396",message:"Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."},Declaration_name_conflicts_with_built_in_global_identifier_0:{code:2397,category:e.DiagnosticCategory.Error,key:"Declaration_name_conflicts_with_built_in_global_identifier_0_2397",message:"Declaration name conflicts with built-in global identifier '{0}'."},Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:{code:2399,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399",message:"Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."},Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:{code:2400,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400",message:"Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."},Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:{code:2401,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401",message:"Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."},Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:{code:2402,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402",message:"Expression resolves to '_super' that compiler uses to capture base class reference."},Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:{code:2403,category:e.DiagnosticCategory.Error,key:"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403",message:"Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."},The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:{code:2404,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404",message:"The left-hand side of a 'for...in' statement cannot use a type annotation."},The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:{code:2405,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405",message:"The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."},Invalid_left_hand_side_in_for_in_statement:{code:2406,category:e.DiagnosticCategory.Error,key:"Invalid_left_hand_side_in_for_in_statement_2406",message:"Invalid left-hand side in 'for...in' statement."},The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter:{code:2407,category:e.DiagnosticCategory.Error,key:"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_2407",message:"The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter."},Setters_cannot_return_a_value:{code:2408,category:e.DiagnosticCategory.Error,key:"Setters_cannot_return_a_value_2408",message:"Setters cannot return a value."},Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:{code:2409,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409",message:"Return type of constructor signature must be assignable to the instance type of the class"},All_symbols_within_a_with_block_will_be_resolved_to_any:{code:2410,category:e.DiagnosticCategory.Error,key:"All_symbols_within_a_with_block_will_be_resolved_to_any_2410",message:"All symbols within a 'with' block will be resolved to 'any'."},Property_0_of_type_1_is_not_assignable_to_string_index_type_2:{code:2411,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411",message:"Property '{0}' of type '{1}' is not assignable to string index type '{2}'."},Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2:{code:2412,category:e.DiagnosticCategory.Error,key:"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412",message:"Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'."},Numeric_index_type_0_is_not_assignable_to_string_index_type_1:{code:2413,category:e.DiagnosticCategory.Error,key:"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413",message:"Numeric index type '{0}' is not assignable to string index type '{1}'."},Class_name_cannot_be_0:{code:2414,category:e.DiagnosticCategory.Error,key:"Class_name_cannot_be_0_2414",message:"Class name cannot be '{0}'"},Class_0_incorrectly_extends_base_class_1:{code:2415,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_extends_base_class_1_2415",message:"Class '{0}' incorrectly extends base class '{1}'."},Class_static_side_0_incorrectly_extends_base_class_static_side_1:{code:2417,category:e.DiagnosticCategory.Error,key:"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417",message:"Class static side '{0}' incorrectly extends base class static side '{1}'."},Class_0_incorrectly_implements_interface_1:{code:2420,category:e.DiagnosticCategory.Error,key:"Class_0_incorrectly_implements_interface_1_2420",message:"Class '{0}' incorrectly implements interface '{1}'."},A_class_may_only_implement_another_class_or_interface:{code:2422,category:e.DiagnosticCategory.Error,key:"A_class_may_only_implement_another_class_or_interface_2422",message:"A class may only implement another class or interface."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:{code:2423,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."},Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property:{code:2424,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424",message:"Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property."},Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2425,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425",message:"Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."},Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:{code:2426,category:e.DiagnosticCategory.Error,key:"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426",message:"Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."},Interface_name_cannot_be_0:{code:2427,category:e.DiagnosticCategory.Error,key:"Interface_name_cannot_be_0_2427",message:"Interface name cannot be '{0}'"},All_declarations_of_0_must_have_identical_type_parameters:{code:2428,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_type_parameters_2428",message:"All declarations of '{0}' must have identical type parameters."},Interface_0_incorrectly_extends_interface_1:{code:2430,category:e.DiagnosticCategory.Error,key:"Interface_0_incorrectly_extends_interface_1_2430",message:"Interface '{0}' incorrectly extends interface '{1}'."},Enum_name_cannot_be_0:{code:2431,category:e.DiagnosticCategory.Error,key:"Enum_name_cannot_be_0_2431",message:"Enum name cannot be '{0}'"},In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:{code:2432,category:e.DiagnosticCategory.Error,key:"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432",message:"In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."},A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:{code:2433,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433",message:"A namespace declaration cannot be in a different file from a class or function with which it is merged"},A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:{code:2434,category:e.DiagnosticCategory.Error,key:"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434",message:"A namespace declaration cannot be located prior to a class or function with which it is merged"},Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:{code:2435,category:e.DiagnosticCategory.Error,key:"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435",message:"Ambient modules cannot be nested in other modules or namespaces."},Ambient_module_declaration_cannot_specify_relative_module_name:{code:2436,category:e.DiagnosticCategory.Error,key:"Ambient_module_declaration_cannot_specify_relative_module_name_2436",message:"Ambient module declaration cannot specify relative module name."},Module_0_is_hidden_by_a_local_declaration_with_the_same_name:{code:2437,category:e.DiagnosticCategory.Error,key:"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437",message:"Module '{0}' is hidden by a local declaration with the same name"},Import_name_cannot_be_0:{code:2438,category:e.DiagnosticCategory.Error,key:"Import_name_cannot_be_0_2438",message:"Import name cannot be '{0}'"},Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:{code:2439,category:e.DiagnosticCategory.Error,key:"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439",message:"Import or export declaration in an ambient module declaration cannot reference module through relative module name."},Import_declaration_conflicts_with_local_declaration_of_0:{code:2440,category:e.DiagnosticCategory.Error,key:"Import_declaration_conflicts_with_local_declaration_of_0_2440",message:"Import declaration conflicts with local declaration of '{0}'"},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:{code:2441,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."},Types_have_separate_declarations_of_a_private_property_0:{code:2442,category:e.DiagnosticCategory.Error,key:"Types_have_separate_declarations_of_a_private_property_0_2442",message:"Types have separate declarations of a private property '{0}'."},Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:{code:2443,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443",message:"Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."},Property_0_is_protected_in_type_1_but_public_in_type_2:{code:2444,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_in_type_1_but_public_in_type_2_2444",message:"Property '{0}' is protected in type '{1}' but public in type '{2}'."},Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:{code:2445,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445",message:"Property '{0}' is protected and only accessible within class '{1}' and its subclasses."},Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1:{code:2446,category:e.DiagnosticCategory.Error,key:"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446",message:"Property '{0}' is protected and only accessible through an instance of class '{1}'."},The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:{code:2447,category:e.DiagnosticCategory.Error,key:"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447",message:"The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."},Block_scoped_variable_0_used_before_its_declaration:{code:2448,category:e.DiagnosticCategory.Error,key:"Block_scoped_variable_0_used_before_its_declaration_2448",message:"Block-scoped variable '{0}' used before its declaration."},The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant_or_a_read_only_property:{code:2449,category:e.DiagnosticCategory.Error,key:"The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant_or_a_read_only_property_2449",message:"The operand of an increment or decrement operator cannot be a constant or a read-only property."},Left_hand_side_of_assignment_expression_cannot_be_a_constant_or_a_read_only_property:{code:2450,category:e.DiagnosticCategory.Error,key:"Left_hand_side_of_assignment_expression_cannot_be_a_constant_or_a_read_only_property_2450",message:"Left-hand side of assignment expression cannot be a constant or a read-only property."},Cannot_redeclare_block_scoped_variable_0:{code:2451,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_block_scoped_variable_0_2451",message:"Cannot redeclare block-scoped variable '{0}'."},An_enum_member_cannot_have_a_numeric_name:{code:2452,category:e.DiagnosticCategory.Error,key:"An_enum_member_cannot_have_a_numeric_name_2452",message:"An enum member cannot have a numeric name."},The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly:{code:2453,category:e.DiagnosticCategory.Error,key:"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453",message:"The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly."},Variable_0_is_used_before_being_assigned:{code:2454,category:e.DiagnosticCategory.Error,key:"Variable_0_is_used_before_being_assigned_2454",message:"Variable '{0}' is used before being assigned."},Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0:{code:2455,category:e.DiagnosticCategory.Error,key:"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455",message:"Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'."},Type_alias_0_circularly_references_itself:{code:2456,category:e.DiagnosticCategory.Error,key:"Type_alias_0_circularly_references_itself_2456",message:"Type alias '{0}' circularly references itself."},Type_alias_name_cannot_be_0:{code:2457,category:e.DiagnosticCategory.Error,key:"Type_alias_name_cannot_be_0_2457",message:"Type alias name cannot be '{0}'"},An_AMD_module_cannot_have_multiple_name_assignments:{code:2458,category:e.DiagnosticCategory.Error,key:"An_AMD_module_cannot_have_multiple_name_assignments_2458",message:"An AMD module cannot have multiple name assignments."},Type_0_has_no_property_1_and_no_string_index_signature:{code:2459,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_and_no_string_index_signature_2459",message:"Type '{0}' has no property '{1}' and no string index signature."},Type_0_has_no_property_1:{code:2460,category:e.DiagnosticCategory.Error,key:"Type_0_has_no_property_1_2460",message:"Type '{0}' has no property '{1}'."},Type_0_is_not_an_array_type:{code:2461,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_2461",message:"Type '{0}' is not an array type."},A_rest_element_must_be_last_in_an_array_destructuring_pattern:{code:2462,category:e.DiagnosticCategory.Error,key:"A_rest_element_must_be_last_in_an_array_destructuring_pattern_2462",message:"A rest element must be last in an array destructuring pattern"},A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:{code:2463,category:e.DiagnosticCategory.Error,key:"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463",message:"A binding pattern parameter cannot be optional in an implementation signature."},A_computed_property_name_must_be_of_type_string_number_symbol_or_any:{code:2464,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464",message:"A computed property name must be of type 'string', 'number', 'symbol', or 'any'."},this_cannot_be_referenced_in_a_computed_property_name:{code:2465,category:e.DiagnosticCategory.Error,key:"this_cannot_be_referenced_in_a_computed_property_name_2465",message:"'this' cannot be referenced in a computed property name."},super_cannot_be_referenced_in_a_computed_property_name:{code:2466,category:e.DiagnosticCategory.Error,key:"super_cannot_be_referenced_in_a_computed_property_name_2466",message:"'super' cannot be referenced in a computed property name."},A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:{code:2467,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467",message:"A computed property name cannot reference a type parameter from its containing type."},Cannot_find_global_value_0:{code:2468,category:e.DiagnosticCategory.Error,key:"Cannot_find_global_value_0_2468",message:"Cannot find global value '{0}'."},The_0_operator_cannot_be_applied_to_type_symbol:{code:2469,category:e.DiagnosticCategory.Error,key:"The_0_operator_cannot_be_applied_to_type_symbol_2469",message:"The '{0}' operator cannot be applied to type 'symbol'."},Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:{code:2470,category:e.DiagnosticCategory.Error,key:"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470",message:"'Symbol' reference does not refer to the global Symbol constructor object."},A_computed_property_name_of_the_form_0_must_be_of_type_symbol:{code:2471,category:e.DiagnosticCategory.Error,key:"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471",message:"A computed property name of the form '{0}' must be of type 'symbol'."},Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:{code:2472,category:e.DiagnosticCategory.Error,key:"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472",message:"Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."},Enum_declarations_must_all_be_const_or_non_const:{code:2473,category:e.DiagnosticCategory.Error,key:"Enum_declarations_must_all_be_const_or_non_const_2473",message:"Enum declarations must all be const or non-const."},In_const_enum_declarations_member_initializer_must_be_constant_expression:{code:2474,category:e.DiagnosticCategory.Error,key:"In_const_enum_declarations_member_initializer_must_be_constant_expression_2474",message:"In 'const' enum declarations member initializer must be constant expression."},const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment:{code:2475,category:e.DiagnosticCategory.Error,key:"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475",message:"'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment."},A_const_enum_member_can_only_be_accessed_using_a_string_literal:{code:2476,category:e.DiagnosticCategory.Error,key:"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476",message:"A const enum member can only be accessed using a string literal."},const_enum_member_initializer_was_evaluated_to_a_non_finite_value:{code:2477,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477",message:"'const' enum member initializer was evaluated to a non-finite value."},const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:{code:2478,category:e.DiagnosticCategory.Error,key:"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478",message:"'const' enum member initializer was evaluated to disallowed value 'NaN'."},Property_0_does_not_exist_on_const_enum_1:{code:2479,category:e.DiagnosticCategory.Error,key:"Property_0_does_not_exist_on_const_enum_1_2479",message:"Property '{0}' does not exist on 'const' enum '{1}'."},let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:{code:2480,category:e.DiagnosticCategory.Error,key:"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480",message:"'let' is not allowed to be used as a name in 'let' or 'const' declarations."},Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:{code:2481,category:e.DiagnosticCategory.Error,key:"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481",message:"Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."},The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:{code:2483,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483",message:"The left-hand side of a 'for...of' statement cannot use a type annotation."},Export_declaration_conflicts_with_exported_declaration_of_0:{code:2484,category:e.DiagnosticCategory.Error,key:"Export_declaration_conflicts_with_exported_declaration_of_0_2484",message:"Export declaration conflicts with exported declaration of '{0}'"},The_left_hand_side_of_a_for_of_statement_cannot_be_a_constant_or_a_read_only_property:{code:2485,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_of_statement_cannot_be_a_constant_or_a_read_only_property_2485",message:"The left-hand side of a 'for...of' statement cannot be a constant or a read-only property."},The_left_hand_side_of_a_for_in_statement_cannot_be_a_constant_or_a_read_only_property:{code:2486,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_be_a_constant_or_a_read_only_property_2486",message:"The left-hand side of a 'for...in' statement cannot be a constant or a read-only property."},Invalid_left_hand_side_in_for_of_statement:{code:2487,category:e.DiagnosticCategory.Error,key:"Invalid_left_hand_side_in_for_of_statement_2487",message:"Invalid left-hand side in 'for...of' statement."},Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator:{code:2488,category:e.DiagnosticCategory.Error,key:"Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488",message:"Type must have a '[Symbol.iterator]()' method that returns an iterator."},An_iterator_must_have_a_next_method:{code:2489,category:e.DiagnosticCategory.Error,key:"An_iterator_must_have_a_next_method_2489",message:"An iterator must have a 'next()' method."},The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property:{code:2490,category:e.DiagnosticCategory.Error,key:"The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490",message:"The type returned by the 'next()' method of an iterator must have a 'value' property."},The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:{code:2491,category:e.DiagnosticCategory.Error,key:"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491",message:"The left-hand side of a 'for...in' statement cannot be a destructuring pattern."},Cannot_redeclare_identifier_0_in_catch_clause:{code:2492,category:e.DiagnosticCategory.Error,key:"Cannot_redeclare_identifier_0_in_catch_clause_2492",message:"Cannot redeclare identifier '{0}' in catch clause"},Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2:{code:2493,category:e.DiagnosticCategory.Error,key:"Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493",message:"Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'."},Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:{code:2494,category:e.DiagnosticCategory.Error,key:"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494",message:"Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."},Type_0_is_not_an_array_type_or_a_string_type:{code:2495,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_an_array_type_or_a_string_type_2495",message:"Type '{0}' is not an array type or a string type."},The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression:{code:2496,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496",message:"The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."},Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct:{code:2497,category:e.DiagnosticCategory.Error,key:"Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497",message:"Module '{0}' resolves to a non-module entity and cannot be imported using this construct."},Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:{code:2498,category:e.DiagnosticCategory.Error,key:"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498",message:"Module '{0}' uses 'export =' and cannot be used with 'export *'."},An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2499,category:e.DiagnosticCategory.Error,key:"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499",message:"An interface can only extend an identifier/qualified-name with optional type arguments."},A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:{code:2500,category:e.DiagnosticCategory.Error,key:"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500",message:"A class can only implement an identifier/qualified-name with optional type arguments."},A_rest_element_cannot_contain_a_binding_pattern:{code:2501,category:e.DiagnosticCategory.Error,key:"A_rest_element_cannot_contain_a_binding_pattern_2501",message:"A rest element cannot contain a binding pattern."},_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:{code:2502,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502",message:"'{0}' is referenced directly or indirectly in its own type annotation."},Cannot_find_namespace_0:{code:2503,category:e.DiagnosticCategory.Error,key:"Cannot_find_namespace_0_2503",message:"Cannot find namespace '{0}'."},No_best_common_type_exists_among_yield_expressions:{code:2504,category:e.DiagnosticCategory.Error,key:"No_best_common_type_exists_among_yield_expressions_2504",message:"No best common type exists among yield expressions."},A_generator_cannot_have_a_void_type_annotation:{code:2505,category:e.DiagnosticCategory.Error,key:"A_generator_cannot_have_a_void_type_annotation_2505",message:"A generator cannot have a 'void' type annotation."},_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:{code:2506,category:e.DiagnosticCategory.Error,key:"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506",message:"'{0}' is referenced directly or indirectly in its own base expression."},Type_0_is_not_a_constructor_function_type:{code:2507,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_a_constructor_function_type_2507",message:"Type '{0}' is not a constructor function type."},No_base_constructor_has_the_specified_number_of_type_arguments:{code:2508,category:e.DiagnosticCategory.Error,key:"No_base_constructor_has_the_specified_number_of_type_arguments_2508",message:"No base constructor has the specified number of type arguments."},Base_constructor_return_type_0_is_not_a_class_or_interface_type:{code:2509,category:e.DiagnosticCategory.Error,key:"Base_constructor_return_type_0_is_not_a_class_or_interface_type_2509",message:"Base constructor return type '{0}' is not a class or interface type."},Base_constructors_must_all_have_the_same_return_type:{code:2510,category:e.DiagnosticCategory.Error,key:"Base_constructors_must_all_have_the_same_return_type_2510",message:"Base constructors must all have the same return type."},Cannot_create_an_instance_of_the_abstract_class_0:{code:2511,category:e.DiagnosticCategory.Error,key:"Cannot_create_an_instance_of_the_abstract_class_0_2511",message:"Cannot create an instance of the abstract class '{0}'."},Overload_signatures_must_all_be_abstract_or_non_abstract:{code:2512,category:e.DiagnosticCategory.Error,key:"Overload_signatures_must_all_be_abstract_or_non_abstract_2512",message:"Overload signatures must all be abstract or non-abstract."},Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:{code:2513,category:e.DiagnosticCategory.Error,key:"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513",message:"Abstract method '{0}' in class '{1}' cannot be accessed via super expression."},Classes_containing_abstract_methods_must_be_marked_abstract:{code:2514,category:e.DiagnosticCategory.Error,key:"Classes_containing_abstract_methods_must_be_marked_abstract_2514",message:"Classes containing abstract methods must be marked abstract."},Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:{code:2515,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515",message:"Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."},All_declarations_of_an_abstract_method_must_be_consecutive:{code:2516,category:e.DiagnosticCategory.Error,key:"All_declarations_of_an_abstract_method_must_be_consecutive_2516",message:"All declarations of an abstract method must be consecutive."},Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:{code:2517,category:e.DiagnosticCategory.Error,key:"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517",message:"Cannot assign an abstract constructor type to a non-abstract constructor type."},A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:{code:2518,category:e.DiagnosticCategory.Error,key:"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518",message:"A 'this'-based type guard is not compatible with a parameter-based type guard."},Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:{code:2520,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520",message:"Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."},Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:{code:2521,category:e.DiagnosticCategory.Error,key:"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521",message:"Expression resolves to variable declaration '{0}' that compiler uses to support async functions."},The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_function_expression:{code:2522,category:e.DiagnosticCategory.Error,key:"The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_2522",message:"The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression."},yield_expressions_cannot_be_used_in_a_parameter_initializer:{code:2523,category:e.DiagnosticCategory.Error,key:"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523",message:"'yield' expressions cannot be used in a parameter initializer."},await_expressions_cannot_be_used_in_a_parameter_initializer:{code:2524,category:e.DiagnosticCategory.Error,key:"await_expressions_cannot_be_used_in_a_parameter_initializer_2524",message:"'await' expressions cannot be used in a parameter initializer."},Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value:{code:2525,category:e.DiagnosticCategory.Error,key:"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525",message:"Initializer provides no value for this binding element and the binding element has no default value."},A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:{code:2526,category:e.DiagnosticCategory.Error,key:"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526",message:"A 'this' type is available only in a non-static member of a class or interface."},The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary:{code:2527,category:e.DiagnosticCategory.Error,key:"The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary_2527",message:"The inferred type of '{0}' references an inaccessible 'this' type. A type annotation is necessary."},A_module_cannot_have_multiple_default_exports:{code:2528,category:e.DiagnosticCategory.Error,key:"A_module_cannot_have_multiple_default_exports_2528",message:"A module cannot have multiple default exports."},Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:{code:2529,category:e.DiagnosticCategory.Error,key:"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529",message:"Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."},Property_0_is_incompatible_with_index_signature:{code:2530,category:e.DiagnosticCategory.Error,key:"Property_0_is_incompatible_with_index_signature_2530",message:"Property '{0}' is incompatible with index signature."},Object_is_possibly_null:{code:2531,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_2531",message:"Object is possibly 'null'."},Object_is_possibly_undefined:{code:2532,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_undefined_2532",message:"Object is possibly 'undefined'."},Object_is_possibly_null_or_undefined:{code:2533,category:e.DiagnosticCategory.Error,key:"Object_is_possibly_null_or_undefined_2533",message:"Object is possibly 'null' or 'undefined'."},A_function_returning_never_cannot_have_a_reachable_end_point:{code:2534,category:e.DiagnosticCategory.Error,key:"A_function_returning_never_cannot_have_a_reachable_end_point_2534",message:"A function returning 'never' cannot have a reachable end point."},JSX_element_attributes_type_0_may_not_be_a_union_type:{code:2600,category:e.DiagnosticCategory.Error,key:"JSX_element_attributes_type_0_may_not_be_a_union_type_2600",message:"JSX element attributes type '{0}' may not be a union type."},The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:{code:2601,category:e.DiagnosticCategory.Error,key:"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601",message:"The return type of a JSX element constructor must return an object type."},JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:{code:2602,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602",message:"JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."},Property_0_in_type_1_is_not_assignable_to_type_2:{code:2603,category:e.DiagnosticCategory.Error,key:"Property_0_in_type_1_is_not_assignable_to_type_2_2603",message:"Property '{0}' in type '{1}' is not assignable to type '{2}'"},JSX_element_type_0_does_not_have_any_construct_or_call_signatures:{code:2604,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604",message:"JSX element type '{0}' does not have any construct or call signatures."},JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:{code:2605,category:e.DiagnosticCategory.Error,key:"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605",message:"JSX element type '{0}' is not a constructor function for JSX elements."},Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:{code:2606,category:e.DiagnosticCategory.Error,key:"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606",message:"Property '{0}' of JSX spread attribute is not assignable to target property."},JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:{code:2607,category:e.DiagnosticCategory.Error,key:"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607",message:"JSX element class does not support attributes because it does not have a '{0}' property"},The_global_type_JSX_0_may_not_have_more_than_one_property:{code:2608,category:e.DiagnosticCategory.Error,key:"The_global_type_JSX_0_may_not_have_more_than_one_property_2608",message:"The global type 'JSX.{0}' may not have more than one property"},Cannot_emit_namespaced_JSX_elements_in_React:{code:2650,category:e.DiagnosticCategory.Error,key:"Cannot_emit_namespaced_JSX_elements_in_React_2650",message:"Cannot emit namespaced JSX elements in React"},A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:{code:2651,category:e.DiagnosticCategory.Error,key:"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651",message:"A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."},Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:{code:2652,category:e.DiagnosticCategory.Error,key:"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652",message:"Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."},Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:{code:2653,category:e.DiagnosticCategory.Error,key:"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653",message:"Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."},Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition:{code:2654,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654",message:"Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition."},Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition:{code:2656,category:e.DiagnosticCategory.Error,key:"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656",message:"Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition."},JSX_expressions_must_have_one_parent_element:{code:2657,category:e.DiagnosticCategory.Error,key:"JSX_expressions_must_have_one_parent_element_2657",message:"JSX expressions must have one parent element"},Type_0_provides_no_match_for_the_signature_1:{code:2658,category:e.DiagnosticCategory.Error,key:"Type_0_provides_no_match_for_the_signature_1_2658",message:"Type '{0}' provides no match for the signature '{1}'"},super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:{code:2659,category:e.DiagnosticCategory.Error,key:"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659",message:"'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."},super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:{code:2660,category:e.DiagnosticCategory.Error,key:"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660",message:"'super' can only be referenced in members of derived classes or object literal expressions."},Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:{code:2661,category:e.DiagnosticCategory.Error,key:"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661",message:"Cannot export '{0}'. Only local declarations can be exported from a module."},Cannot_find_name_0_Did_you_mean_the_static_member_1_0:{code:2662,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662",message:"Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"},Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:{code:2663,category:e.DiagnosticCategory.Error,key:"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663",message:"Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"},Invalid_module_name_in_augmentation_module_0_cannot_be_found:{code:2664,category:e.DiagnosticCategory.Error,key:"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664",message:"Invalid module name in augmentation, module '{0}' cannot be found."},Exports_and_export_assignments_are_not_permitted_in_module_augmentations:{code:2666,category:e.DiagnosticCategory.Error,key:"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666",message:"Exports and export assignments are not permitted in module augmentations."},Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:{code:2667,category:e.DiagnosticCategory.Error,key:"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667",message:"Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."},export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:{code:2668,category:e.DiagnosticCategory.Error,key:"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668",message:"'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."},Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:{code:2669,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669",message:"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."},Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:{code:2670,category:e.DiagnosticCategory.Error,key:"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670",message:"Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."},Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:{code:2671,category:e.DiagnosticCategory.Error,key:"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671",message:"Cannot augment module '{0}' because it resolves to a non-module entity."},Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:{code:2672,category:e.DiagnosticCategory.Error,key:"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672",message:"Cannot assign a '{0}' constructor type to a '{1}' constructor type."},Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:{code:2673,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673",message:"Constructor of class '{0}' is private and only accessible within the class declaration."},Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:{code:2674,category:e.DiagnosticCategory.Error,key:"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674",message:"Constructor of class '{0}' is protected and only accessible within the class declaration."},Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:{code:2675,category:e.DiagnosticCategory.Error,key:"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675",message:"Cannot extend a class '{0}'. Class constructor is marked as private."},Accessors_must_both_be_abstract_or_non_abstract:{code:2676,category:e.DiagnosticCategory.Error,key:"Accessors_must_both_be_abstract_or_non_abstract_2676",message:"Accessors must both be abstract or non-abstract."},A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:{code:2677,category:e.DiagnosticCategory.Error,key:"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677",message:"A type predicate's type must be assignable to its parameter's type."},Type_0_is_not_comparable_to_type_1:{code:2678,category:e.DiagnosticCategory.Error,key:"Type_0_is_not_comparable_to_type_1_2678",message:"Type '{0}' is not comparable to type '{1}'."},A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:{code:2679,category:e.DiagnosticCategory.Error,key:"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679",message:"A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."},A_this_parameter_must_be_the_first_parameter:{code:2680,category:e.DiagnosticCategory.Error,key:"A_this_parameter_must_be_the_first_parameter_2680",message:"A 'this' parameter must be the first parameter."},A_constructor_cannot_have_a_this_parameter:{code:2681,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_have_a_this_parameter_2681",message:"A constructor cannot have a 'this' parameter."},get_and_set_accessor_must_have_the_same_this_type:{code:2682,category:e.DiagnosticCategory.Error,key:"get_and_set_accessor_must_have_the_same_this_type_2682",message:"'get' and 'set' accessor must have the same 'this' type."},this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:{code:2683,category:e.DiagnosticCategory.Error,key:"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683",message:"'this' implicitly has type 'any' because it does not have a type annotation."},The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:{code:2684,category:e.DiagnosticCategory.Error,key:"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684",message:"The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."},The_this_types_of_each_signature_are_incompatible:{code:2685,category:e.DiagnosticCategory.Error,key:"The_this_types_of_each_signature_are_incompatible_2685",message:"The 'this' types of each signature are incompatible."},Identifier_0_must_be_imported_from_a_module:{code:2686,category:e.DiagnosticCategory.Error,key:"Identifier_0_must_be_imported_from_a_module_2686",message:"Identifier '{0}' must be imported from a module"},All_declarations_of_0_must_have_identical_modifiers:{code:2687,category:e.DiagnosticCategory.Error,key:"All_declarations_of_0_must_have_identical_modifiers_2687",message:"All declarations of '{0}' must have identical modifiers."},Cannot_find_type_definition_file_for_0:{code:2688,category:e.DiagnosticCategory.Error,key:"Cannot_find_type_definition_file_for_0_2688",message:"Cannot find type definition file for '{0}'."},Cannot_extend_an_interface_0_Did_you_mean_implements:{code:2689,category:e.DiagnosticCategory.Error,key:"Cannot_extend_an_interface_0_Did_you_mean_implements_2689",message:"Cannot extend an interface '{0}'. Did you mean 'implements'?"},Import_declaration_0_is_using_private_name_1:{code:4e3,category:e.DiagnosticCategory.Error,key:"Import_declaration_0_is_using_private_name_1_4000",message:"Import declaration '{0}' is using private name '{1}'."},Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:{code:4002,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002",message:"Type parameter '{0}' of exported class has or is using private name '{1}'."},Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:{code:4004,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004",message:"Type parameter '{0}' of exported interface has or is using private name '{1}'."},Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4006,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006",message:"Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4008,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008",message:"Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4010,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010",message:"Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4012,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012",message:"Type parameter '{0}' of public method from exported class has or is using private name '{1}'."},Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4014,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014",message:"Type parameter '{0}' of method from exported interface has or is using private name '{1}'."},Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4016,category:e.DiagnosticCategory.Error,key:"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016",message:"Type parameter '{0}' of exported function has or is using private name '{1}'."},Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4019,category:e.DiagnosticCategory.Error,key:"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019",message:"Implements clause of exported class '{0}' has or is using private name '{1}'."},Extends_clause_of_exported_class_0_has_or_is_using_private_name_1:{code:4020,category:e.DiagnosticCategory.Error,key:"Extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020",message:"Extends clause of exported class '{0}' has or is using private name '{1}'."},Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:{code:4022,category:e.DiagnosticCategory.Error,key:"Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022",message:"Extends clause of exported interface '{0}' has or is using private name '{1}'."},Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4023,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023",message:"Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."},Exported_variable_0_has_or_is_using_name_1_from_private_module_2:{code:4024,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024",message:"Exported variable '{0}' has or is using name '{1}' from private module '{2}'."},Exported_variable_0_has_or_is_using_private_name_1:{code:4025,category:e.DiagnosticCategory.Error,key:"Exported_variable_0_has_or_is_using_private_name_1_4025",message:"Exported variable '{0}' has or is using private name '{1}'."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4026,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026",message:"Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4027,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027",message:"Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4028,category:e.DiagnosticCategory.Error,key:"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028",message:"Public static property '{0}' of exported class has or is using private name '{1}'."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4029,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029",message:"Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."},Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4030,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030",message:"Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."},Public_property_0_of_exported_class_has_or_is_using_private_name_1:{code:4031,category:e.DiagnosticCategory.Error,key:"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031",message:"Public property '{0}' of exported class has or is using private name '{1}'."},Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4032,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032",message:"Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."},Property_0_of_exported_interface_has_or_is_using_private_name_1:{code:4033,category:e.DiagnosticCategory.Error,key:"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033",message:"Property '{0}' of exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4034,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_4034",message:"Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4035,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1_4035",message:"Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4036,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_4036",message:"Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1:{code:4037,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1_4037",message:"Parameter '{0}' of public property setter from exported class has or is using private name '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4038,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_externa_4038",message:"Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4039,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_4039",message:"Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4040,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0_4040",message:"Return type of public static property getter from exported class has or is using private name '{0}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4041,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_modul_4041",message:"Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4042,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_4042",message:"Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0:{code:4043,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0_4043",message:"Return type of public property getter from exported class has or is using private name '{0}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4044,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044",message:"Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4045,category:e.DiagnosticCategory.Error,key:"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045",message:"Return type of constructor signature from exported interface has or is using private name '{0}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4046,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046",message:"Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4047,category:e.DiagnosticCategory.Error,key:"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047",message:"Return type of call signature from exported interface has or is using private name '{0}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4048,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048",message:"Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:{code:4049,category:e.DiagnosticCategory.Error,key:"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049",message:"Return type of index signature from exported interface has or is using private name '{0}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4050,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050",message:"Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4051,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051",message:"Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:{code:4052,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052",message:"Return type of public static method from exported class has or is using private name '{0}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4053,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053",message:"Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:{code:4054,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054",message:"Return type of public method from exported class has or is using name '{0}' from private module '{1}'."},Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:{code:4055,category:e.DiagnosticCategory.Error,key:"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055",message:"Return type of public method from exported class has or is using private name '{0}'."},Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:{code:4056,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056",message:"Return type of method from exported interface has or is using name '{0}' from private module '{1}'."},Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:{code:4057,category:e.DiagnosticCategory.Error,key:"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057",message:"Return type of method from exported interface has or is using private name '{0}'."},Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:{code:4058,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058",message:"Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."},Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:{code:4059,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059",message:"Return type of exported function has or is using name '{0}' from private module '{1}'."},Return_type_of_exported_function_has_or_is_using_private_name_0:{code:4060,category:e.DiagnosticCategory.Error,key:"Return_type_of_exported_function_has_or_is_using_private_name_0_4060",message:"Return type of exported function has or is using private name '{0}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4061,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4062,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062",message:"Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:{code:4063,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063",message:"Parameter '{0}' of constructor from exported class has or is using private name '{1}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4064,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064",message:"Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4065,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065",message:"Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4066,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066",message:"Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:{code:4067,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067",message:"Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4068,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4069,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069",message:"Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:{code:4070,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070",message:"Parameter '{0}' of public static method from exported class has or is using private name '{1}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4071,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:{code:4072,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072",message:"Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."},Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:{code:4073,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073",message:"Parameter '{0}' of public method from exported class has or is using private name '{1}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:{code:4074,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074",message:"Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."},Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:{code:4075,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075",message:"Parameter '{0}' of method from exported interface has or is using private name '{1}'."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:{code:4076,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076",message:"Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."},Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:{code:4077,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077",message:"Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."},Parameter_0_of_exported_function_has_or_is_using_private_name_1:{code:4078,category:e.DiagnosticCategory.Error,key:"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078",message:"Parameter '{0}' of exported function has or is using private name '{1}'."},Exported_type_alias_0_has_or_is_using_private_name_1:{code:4081,category:e.DiagnosticCategory.Error,key:"Exported_type_alias_0_has_or_is_using_private_name_1_4081",message:"Exported type alias '{0}' has or is using private name '{1}'."},Default_export_of_the_module_has_or_is_using_private_name_0:{code:4082,category:e.DiagnosticCategory.Error,key:"Default_export_of_the_module_has_or_is_using_private_name_0_4082",message:"Default export of the module has or is using private name '{0}'."},Conflicting_library_definitions_for_0_found_at_1_and_2_Copy_the_correct_file_to_the_typings_folder_to_resolve_this_conflict:{code:4090,category:e.DiagnosticCategory.Message,key:"Conflicting_library_definitions_for_0_found_at_1_and_2_Copy_the_correct_file_to_the_typings_folder_t_4090",message:"Conflicting library definitions for '{0}' found at '{1}' and '{2}'. Copy the correct file to the 'typings' folder to resolve this conflict."},The_current_host_does_not_support_the_0_option:{code:5001,category:e.DiagnosticCategory.Error,key:"The_current_host_does_not_support_the_0_option_5001",message:"The current host does not support the '{0}' option."},Cannot_find_the_common_subdirectory_path_for_the_input_files:{code:5009,category:e.DiagnosticCategory.Error,key:"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009",message:"Cannot find the common subdirectory path for the input files."},File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5010,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010",message:"File specification cannot end in a recursive directory wildcard ('**'): '{0}'."},File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0:{code:5011,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0_5011",message:"File specification cannot contain multiple recursive directory wildcards ('**'): '{0}'."},Cannot_read_file_0_Colon_1:{code:5012,category:e.DiagnosticCategory.Error,key:"Cannot_read_file_0_Colon_1_5012",message:"Cannot read file '{0}': {1}"},Unsupported_file_encoding:{code:5013,category:e.DiagnosticCategory.Error,key:"Unsupported_file_encoding_5013",message:"Unsupported file encoding."},Failed_to_parse_file_0_Colon_1:{code:5014,category:e.DiagnosticCategory.Error,key:"Failed_to_parse_file_0_Colon_1_5014",message:"Failed to parse file '{0}': {1}."},Unknown_compiler_option_0:{code:5023,category:e.DiagnosticCategory.Error,key:"Unknown_compiler_option_0_5023",message:"Unknown compiler option '{0}'."},Compiler_option_0_requires_a_value_of_type_1:{code:5024,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_requires_a_value_of_type_1_5024",message:"Compiler option '{0}' requires a value of type {1}."},Could_not_write_file_0_Colon_1:{code:5033,category:e.DiagnosticCategory.Error,key:"Could_not_write_file_0_Colon_1_5033",message:"Could not write file '{0}': {1}"},Option_project_cannot_be_mixed_with_source_files_on_a_command_line:{code:5042,category:e.DiagnosticCategory.Error,key:"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042",message:"Option 'project' cannot be mixed with source files on a command line."},Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:{code:5047,category:e.DiagnosticCategory.Error,key:"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047",message:"Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."},Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:{code:5051,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051",message:"Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."},Option_0_cannot_be_specified_without_specifying_option_1:{code:5052,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_without_specifying_option_1_5052",message:"Option '{0}' cannot be specified without specifying option '{1}'."},Option_0_cannot_be_specified_with_option_1:{code:5053,category:e.DiagnosticCategory.Error,key:"Option_0_cannot_be_specified_with_option_1_5053",message:"Option '{0}' cannot be specified with option '{1}'."},A_tsconfig_json_file_is_already_defined_at_Colon_0:{code:5054,category:e.DiagnosticCategory.Error,key:"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054",message:"A 'tsconfig.json' file is already defined at: '{0}'."},Cannot_write_file_0_because_it_would_overwrite_input_file:{code:5055,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_overwrite_input_file_5055",message:"Cannot write file '{0}' because it would overwrite input file."},Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:{code:5056,category:e.DiagnosticCategory.Error,key:"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056",message:"Cannot write file '{0}' because it would be overwritten by multiple input files."},Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:{code:5057,category:e.DiagnosticCategory.Error,key:"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057",message:"Cannot find a tsconfig.json file at the specified directory: '{0}'"},The_specified_path_does_not_exist_Colon_0:{code:5058,category:e.DiagnosticCategory.Error,key:"The_specified_path_does_not_exist_Colon_0_5058",message:"The specified path does not exist: '{0}'"},Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:{code:5059,category:e.DiagnosticCategory.Error,key:"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059",message:"Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."},Option_paths_cannot_be_used_without_specifying_baseUrl_option:{code:5060,category:e.DiagnosticCategory.Error,key:"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060",message:"Option 'paths' cannot be used without specifying '--baseUrl' option."},Pattern_0_can_have_at_most_one_Asterisk_character:{code:5061,category:e.DiagnosticCategory.Error,key:"Pattern_0_can_have_at_most_one_Asterisk_character_5061",message:"Pattern '{0}' can have at most one '*' character"},Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character:{code:5062,category:e.DiagnosticCategory.Error,key:"Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062",message:"Substitution '{0}' in pattern '{1}' in can have at most one '*' character"},Substitutions_for_pattern_0_should_be_an_array:{code:5063,category:e.DiagnosticCategory.Error,key:"Substitutions_for_pattern_0_should_be_an_array_5063",message:"Substitutions for pattern '{0}' should be an array."},Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:{code:5064,category:e.DiagnosticCategory.Error,key:"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064",message:"Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."},File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:{code:5065,category:e.DiagnosticCategory.Error,key:"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065",message:"File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."},Concatenate_and_emit_output_to_single_file:{code:6001,category:e.DiagnosticCategory.Message,key:"Concatenate_and_emit_output_to_single_file_6001",message:"Concatenate and emit output to single file."},Generates_corresponding_d_ts_file:{code:6002,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_d_ts_file_6002",message:"Generates corresponding '.d.ts' file."},Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:{code:6003,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003",message:"Specify the location where debugger should locate map files instead of generated locations."},Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:{code:6004,category:e.DiagnosticCategory.Message,key:"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004",message:"Specify the location where debugger should locate TypeScript files instead of source locations."},Watch_input_files:{code:6005,category:e.DiagnosticCategory.Message,key:"Watch_input_files_6005",message:"Watch input files."},Redirect_output_structure_to_the_directory:{code:6006,category:e.DiagnosticCategory.Message,key:"Redirect_output_structure_to_the_directory_6006",message:"Redirect output structure to the directory."},Do_not_erase_const_enum_declarations_in_generated_code:{code:6007,category:e.DiagnosticCategory.Message,key:"Do_not_erase_const_enum_declarations_in_generated_code_6007",message:"Do not erase const enum declarations in generated code."},Do_not_emit_outputs_if_any_errors_were_reported:{code:6008,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_if_any_errors_were_reported_6008",message:"Do not emit outputs if any errors were reported."},Do_not_emit_comments_to_output:{code:6009,category:e.DiagnosticCategory.Message,key:"Do_not_emit_comments_to_output_6009",message:"Do not emit comments to output."},Do_not_emit_outputs:{code:6010,category:e.DiagnosticCategory.Message,key:"Do_not_emit_outputs_6010",message:"Do not emit outputs."},Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:{code:6011,category:e.DiagnosticCategory.Message,key:"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011",message:"Allow default imports from modules with no default export. This does not affect code emit, just typechecking."},Skip_type_checking_of_declaration_files:{code:6012,category:e.DiagnosticCategory.Message,key:"Skip_type_checking_of_declaration_files_6012",message:"Skip type checking of declaration files."},Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015:{code:6015,category:e.DiagnosticCategory.Message,key:"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015_6015",message:"Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES2015'"},Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015:{code:6016,category:e.DiagnosticCategory.Message,key:"Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015_6016",message:"Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'"},Print_this_message:{code:6017,category:e.DiagnosticCategory.Message,key:"Print_this_message_6017",message:"Print this message."},Print_the_compiler_s_version:{code:6019,category:e.DiagnosticCategory.Message,key:"Print_the_compiler_s_version_6019",message:"Print the compiler's version."},Compile_the_project_in_the_given_directory:{code:6020,category:e.DiagnosticCategory.Message,key:"Compile_the_project_in_the_given_directory_6020",message:"Compile the project in the given directory."},Syntax_Colon_0:{code:6023,category:e.DiagnosticCategory.Message,key:"Syntax_Colon_0_6023",message:"Syntax: {0}"},options:{code:6024,category:e.DiagnosticCategory.Message,key:"options_6024",message:"options"},file:{code:6025,category:e.DiagnosticCategory.Message,key:"file_6025",message:"file"},Examples_Colon_0:{code:6026,category:e.DiagnosticCategory.Message,key:"Examples_Colon_0_6026",message:"Examples: {0}"},Options_Colon:{code:6027,category:e.DiagnosticCategory.Message,key:"Options_Colon_6027",message:"Options:"},Version_0:{code:6029,category:e.DiagnosticCategory.Message,key:"Version_0_6029",message:"Version {0}"},Insert_command_line_options_and_files_from_a_file:{code:6030,category:e.DiagnosticCategory.Message,key:"Insert_command_line_options_and_files_from_a_file_6030",message:"Insert command line options and files from a file."},File_change_detected_Starting_incremental_compilation:{code:6032,category:e.DiagnosticCategory.Message,key:"File_change_detected_Starting_incremental_compilation_6032",message:"File change detected. Starting incremental compilation..."},KIND:{code:6034,category:e.DiagnosticCategory.Message,key:"KIND_6034",message:"KIND"},FILE:{code:6035,category:e.DiagnosticCategory.Message,key:"FILE_6035",message:"FILE"},VERSION:{code:6036,category:e.DiagnosticCategory.Message,key:"VERSION_6036",message:"VERSION"},LOCATION:{code:6037,category:e.DiagnosticCategory.Message,key:"LOCATION_6037",message:"LOCATION"},DIRECTORY:{code:6038,category:e.DiagnosticCategory.Message,key:"DIRECTORY_6038",message:"DIRECTORY"},Compilation_complete_Watching_for_file_changes:{code:6042,category:e.DiagnosticCategory.Message,key:"Compilation_complete_Watching_for_file_changes_6042",message:"Compilation complete. Watching for file changes."},Generates_corresponding_map_file:{code:6043,category:e.DiagnosticCategory.Message,key:"Generates_corresponding_map_file_6043",message:"Generates corresponding '.map' file."},Compiler_option_0_expects_an_argument:{code:6044,category:e.DiagnosticCategory.Error,key:"Compiler_option_0_expects_an_argument_6044",message:"Compiler option '{0}' expects an argument."},Unterminated_quoted_string_in_response_file_0:{code:6045,category:e.DiagnosticCategory.Error,key:"Unterminated_quoted_string_in_response_file_0_6045",message:"Unterminated quoted string in response file '{0}'."},Argument_for_0_option_must_be_Colon_1:{code:6046,category:e.DiagnosticCategory.Error,key:"Argument_for_0_option_must_be_Colon_1_6046",message:"Argument for '{0}' option must be: {1}"},Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:{code:6048,category:e.DiagnosticCategory.Error,key:"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048",message:"Locale must be of the form or -. For example '{0}' or '{1}'."},Unsupported_locale_0:{code:6049,category:e.DiagnosticCategory.Error,key:"Unsupported_locale_0_6049",message:"Unsupported locale '{0}'."},Unable_to_open_file_0:{code:6050,category:e.DiagnosticCategory.Error,key:"Unable_to_open_file_0_6050",message:"Unable to open file '{0}'."},Corrupted_locale_file_0:{code:6051,category:e.DiagnosticCategory.Error,key:"Corrupted_locale_file_0_6051",message:"Corrupted locale file {0}."},Raise_error_on_expressions_and_declarations_with_an_implied_any_type:{code:6052,category:e.DiagnosticCategory.Message,key:"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052",message:"Raise error on expressions and declarations with an implied 'any' type."},File_0_not_found:{code:6053,category:e.DiagnosticCategory.Error,key:"File_0_not_found_6053",message:"File '{0}' not found."},File_0_has_unsupported_extension_The_only_supported_extensions_are_1:{code:6054,category:e.DiagnosticCategory.Error,key:"File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054",message:"File '{0}' has unsupported extension. The only supported extensions are {1}."},Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:{code:6055,category:e.DiagnosticCategory.Message,key:"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055",message:"Suppress noImplicitAny errors for indexing objects lacking index signatures."},Do_not_emit_declarations_for_code_that_has_an_internal_annotation:{code:6056,category:e.DiagnosticCategory.Message,key:"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056",message:"Do not emit declarations for code that has an '@internal' annotation."},Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:{code:6058,category:e.DiagnosticCategory.Message,key:"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058",message:"Specify the root directory of input files. Use to control the output directory structure with --outDir."},File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:{code:6059,category:e.DiagnosticCategory.Error,key:"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059",message:"File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."},Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:{code:6060,category:e.DiagnosticCategory.Message,key:"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060",message:"Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."},NEWLINE:{code:6061,category:e.DiagnosticCategory.Message,key:"NEWLINE_6061",message:"NEWLINE"},Option_0_can_only_be_specified_in_tsconfig_json_file:{code:6064,category:e.DiagnosticCategory.Error,key:"Option_0_can_only_be_specified_in_tsconfig_json_file_6064",message:"Option '{0}' can only be specified in 'tsconfig.json' file."},Enables_experimental_support_for_ES7_decorators:{code:6065,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_decorators_6065",message:"Enables experimental support for ES7 decorators."},Enables_experimental_support_for_emitting_type_metadata_for_decorators:{code:6066,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066",message:"Enables experimental support for emitting type metadata for decorators."},Enables_experimental_support_for_ES7_async_functions:{code:6068,category:e.DiagnosticCategory.Message,key:"Enables_experimental_support_for_ES7_async_functions_6068",message:"Enables experimental support for ES7 async functions."},Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:{code:6069,category:e.DiagnosticCategory.Message,key:"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069",message:"Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."},Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:{code:6070,category:e.DiagnosticCategory.Message,key:"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070",message:"Initializes a TypeScript project and creates a tsconfig.json file."},Successfully_created_a_tsconfig_json_file:{code:6071,category:e.DiagnosticCategory.Message,key:"Successfully_created_a_tsconfig_json_file_6071",message:"Successfully created a tsconfig.json file."},Suppress_excess_property_checks_for_object_literals:{code:6072,category:e.DiagnosticCategory.Message,key:"Suppress_excess_property_checks_for_object_literals_6072",message:"Suppress excess property checks for object literals."},Stylize_errors_and_messages_using_color_and_context_experimental:{code:6073,category:e.DiagnosticCategory.Message,key:"Stylize_errors_and_messages_using_color_and_context_experimental_6073",message:"Stylize errors and messages using color and context. (experimental)"},Do_not_report_errors_on_unused_labels:{code:6074,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unused_labels_6074",message:"Do not report errors on unused labels."},Report_error_when_not_all_code_paths_in_function_return_a_value:{code:6075,category:e.DiagnosticCategory.Message,key:"Report_error_when_not_all_code_paths_in_function_return_a_value_6075",message:"Report error when not all code paths in function return a value."},Report_errors_for_fallthrough_cases_in_switch_statement:{code:6076,category:e.DiagnosticCategory.Message,key:"Report_errors_for_fallthrough_cases_in_switch_statement_6076",message:"Report errors for fallthrough cases in switch statement."},Do_not_report_errors_on_unreachable_code:{code:6077,category:e.DiagnosticCategory.Message,key:"Do_not_report_errors_on_unreachable_code_6077",message:"Do not report errors on unreachable code."},Disallow_inconsistently_cased_references_to_the_same_file:{code:6078,category:e.DiagnosticCategory.Message,key:"Disallow_inconsistently_cased_references_to_the_same_file_6078",message:"Disallow inconsistently-cased references to the same file."},Specify_library_files_to_be_included_in_the_compilation_Colon:{code:6079,category:e.DiagnosticCategory.Message,key:"Specify_library_files_to_be_included_in_the_compilation_Colon_6079",message:"Specify library files to be included in the compilation: "},Specify_JSX_code_generation_Colon_preserve_or_react:{code:6080,category:e.DiagnosticCategory.Message,key:"Specify_JSX_code_generation_Colon_preserve_or_react_6080",message:"Specify JSX code generation: 'preserve' or 'react'"},Only_amd_and_system_modules_are_supported_alongside_0:{code:6082,category:e.DiagnosticCategory.Error,key:"Only_amd_and_system_modules_are_supported_alongside_0_6082",message:"Only 'amd' and 'system' modules are supported alongside --{0}."},Base_directory_to_resolve_non_absolute_module_names:{code:6083,category:e.DiagnosticCategory.Message,key:"Base_directory_to_resolve_non_absolute_module_names_6083",message:"Base directory to resolve non-absolute module names."},Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit:{code:6084,category:e.DiagnosticCategory.Message,key:"Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit_6084",message:"Specify the object invoked for createElement and __spread when targeting 'react' JSX emit"},Enable_tracing_of_the_name_resolution_process:{code:6085,category:e.DiagnosticCategory.Message,key:"Enable_tracing_of_the_name_resolution_process_6085",message:"Enable tracing of the name resolution process."},Resolving_module_0_from_1:{code:6086,category:e.DiagnosticCategory.Message,key:"Resolving_module_0_from_1_6086",message:"======== Resolving module '{0}' from '{1}'. ========"},Explicitly_specified_module_resolution_kind_Colon_0:{code:6087,category:e.DiagnosticCategory.Message,key:"Explicitly_specified_module_resolution_kind_Colon_0_6087",message:"Explicitly specified module resolution kind: '{0}'."},Module_resolution_kind_is_not_specified_using_0:{code:6088,category:e.DiagnosticCategory.Message,key:"Module_resolution_kind_is_not_specified_using_0_6088",message:"Module resolution kind is not specified, using '{0}'."},Module_name_0_was_successfully_resolved_to_1:{code:6089,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_successfully_resolved_to_1_6089",message:"======== Module name '{0}' was successfully resolved to '{1}'. ========"},Module_name_0_was_not_resolved:{code:6090,category:e.DiagnosticCategory.Message,key:"Module_name_0_was_not_resolved_6090",message:"======== Module name '{0}' was not resolved. ========"},paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:{code:6091,category:e.DiagnosticCategory.Message,key:"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091",message:"'paths' option is specified, looking for a pattern to match module name '{0}'."},Module_name_0_matched_pattern_1:{code:6092,category:e.DiagnosticCategory.Message,key:"Module_name_0_matched_pattern_1_6092",message:"Module name '{0}', matched pattern '{1}'."},Trying_substitution_0_candidate_module_location_Colon_1:{code:6093,category:e.DiagnosticCategory.Message,key:"Trying_substitution_0_candidate_module_location_Colon_1_6093",message:"Trying substitution '{0}', candidate module location: '{1}'."},Resolving_module_name_0_relative_to_base_url_1_2:{code:6094,category:e.DiagnosticCategory.Message,key:"Resolving_module_name_0_relative_to_base_url_1_2_6094",message:"Resolving module name '{0}' relative to base url '{1}' - '{2}'."},Loading_module_as_file_Slash_folder_candidate_module_location_0:{code:6095,category:e.DiagnosticCategory.Message,key:"Loading_module_as_file_Slash_folder_candidate_module_location_0_6095",message:"Loading module as file / folder, candidate module location '{0}'."},File_0_does_not_exist:{code:6096,category:e.DiagnosticCategory.Message,key:"File_0_does_not_exist_6096",message:"File '{0}' does not exist."},File_0_exist_use_it_as_a_name_resolution_result:{code:6097,category:e.DiagnosticCategory.Message,key:"File_0_exist_use_it_as_a_name_resolution_result_6097",message:"File '{0}' exist - use it as a name resolution result."},Loading_module_0_from_node_modules_folder:{code:6098,category:e.DiagnosticCategory.Message,key:"Loading_module_0_from_node_modules_folder_6098",message:"Loading module '{0}' from 'node_modules' folder."},Found_package_json_at_0:{code:6099,category:e.DiagnosticCategory.Message,key:"Found_package_json_at_0_6099",message:"Found 'package.json' at '{0}'."},package_json_does_not_have_types_field:{code:6100,category:e.DiagnosticCategory.Message,key:"package_json_does_not_have_types_field_6100",message:"'package.json' does not have 'types' field."},package_json_has_0_field_1_that_references_2:{code:6101,category:e.DiagnosticCategory.Message,key:"package_json_has_0_field_1_that_references_2_6101",message:"'package.json' has '{0}' field '{1}' that references '{2}'."},Allow_javascript_files_to_be_compiled:{code:6102,category:e.DiagnosticCategory.Message,key:"Allow_javascript_files_to_be_compiled_6102",message:"Allow javascript files to be compiled."},Option_0_should_have_array_of_strings_as_a_value:{code:6103,category:e.DiagnosticCategory.Error,key:"Option_0_should_have_array_of_strings_as_a_value_6103",message:"Option '{0}' should have array of strings as a value."},Checking_if_0_is_the_longest_matching_prefix_for_1_2:{code:6104,category:e.DiagnosticCategory.Message,key:"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104",message:"Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."},Expected_type_of_0_field_in_package_json_to_be_string_got_1:{code:6105,category:e.DiagnosticCategory.Message,key:"Expected_type_of_0_field_in_package_json_to_be_string_got_1_6105",message:"Expected type of '{0}' field in 'package.json' to be 'string', got '{1}'."},baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:{code:6106,category:e.DiagnosticCategory.Message,key:"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106",message:"'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'"},rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:{code:6107,category:e.DiagnosticCategory.Message,key:"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107",message:"'rootDirs' option is set, using it to resolve relative module name '{0}'"},Longest_matching_prefix_for_0_is_1:{code:6108,category:e.DiagnosticCategory.Message,key:"Longest_matching_prefix_for_0_is_1_6108",message:"Longest matching prefix for '{0}' is '{1}'"},Loading_0_from_the_root_dir_1_candidate_location_2:{code:6109,category:e.DiagnosticCategory.Message,key:"Loading_0_from_the_root_dir_1_candidate_location_2_6109",message:"Loading '{0}' from the root dir '{1}', candidate location '{2}'"},Trying_other_entries_in_rootDirs:{code:6110,category:e.DiagnosticCategory.Message,key:"Trying_other_entries_in_rootDirs_6110",message:"Trying other entries in 'rootDirs'"},Module_resolution_using_rootDirs_has_failed:{code:6111,category:e.DiagnosticCategory.Message,key:"Module_resolution_using_rootDirs_has_failed_6111",message:"Module resolution using 'rootDirs' has failed"},Do_not_emit_use_strict_directives_in_module_output:{code:6112,category:e.DiagnosticCategory.Message,key:"Do_not_emit_use_strict_directives_in_module_output_6112",message:"Do not emit 'use strict' directives in module output."},Enable_strict_null_checks:{code:6113,category:e.DiagnosticCategory.Message,key:"Enable_strict_null_checks_6113",message:"Enable strict null checks."},Unknown_option_excludes_Did_you_mean_exclude:{code:6114,category:e.DiagnosticCategory.Error,key:"Unknown_option_excludes_Did_you_mean_exclude_6114",message:"Unknown option 'excludes'. Did you mean 'exclude'?"},Raise_error_on_this_expressions_with_an_implied_any_type:{code:6115,category:e.DiagnosticCategory.Message,key:"Raise_error_on_this_expressions_with_an_implied_any_type_6115",message:"Raise error on 'this' expressions with an implied 'any' type."},Resolving_type_reference_directive_0_containing_file_1_root_directory_2:{code:6116,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"},Resolving_using_primary_search_paths:{code:6117,category:e.DiagnosticCategory.Message,key:"Resolving_using_primary_search_paths_6117",message:"Resolving using primary search paths..."},Resolving_from_node_modules_folder:{code:6118,category:e.DiagnosticCategory.Message,key:"Resolving_from_node_modules_folder_6118",message:"Resolving from node_modules folder..."},Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:{code:6119,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119",message:"======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"},Type_reference_directive_0_was_not_resolved:{code:6120,category:e.DiagnosticCategory.Message,key:"Type_reference_directive_0_was_not_resolved_6120",message:"======== Type reference directive '{0}' was not resolved. ========"},Resolving_with_primary_search_path_0:{code:6121,category:e.DiagnosticCategory.Message,key:"Resolving_with_primary_search_path_0_6121",message:"Resolving with primary search path '{0}'"},Root_directory_cannot_be_determined_skipping_primary_search_paths:{code:6122,category:e.DiagnosticCategory.Message,key:"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122",message:"Root directory cannot be determined, skipping primary search paths."},Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:{code:6123,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123",message:"======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"},Type_declaration_files_to_be_included_in_compilation:{code:6124,category:e.DiagnosticCategory.Message,key:"Type_declaration_files_to_be_included_in_compilation_6124",message:"Type declaration files to be included in compilation."},Looking_up_in_node_modules_folder_initial_location_0:{code:6125,category:e.DiagnosticCategory.Message,key:"Looking_up_in_node_modules_folder_initial_location_0_6125",message:"Looking up in 'node_modules' folder, initial location '{0}'"},Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:{code:6126,category:e.DiagnosticCategory.Message,key:"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126",message:"Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:{code:6127,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127",message:"======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"},Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:{code:6128,category:e.DiagnosticCategory.Message,key:"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128",message:"======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"},The_config_file_0_found_doesn_t_contain_any_source_files:{code:6129,category:e.DiagnosticCategory.Error,key:"The_config_file_0_found_doesn_t_contain_any_source_files_6129",message:"The config file '{0}' found doesn't contain any source files."},Resolving_real_path_for_0_result_1:{code:6130,category:e.DiagnosticCategory.Message,key:"Resolving_real_path_for_0_result_1_6130",message:"Resolving real path for '{0}', result '{1}'"},Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:{code:6131,category:e.DiagnosticCategory.Error,key:"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131",message:"Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."},File_name_0_has_a_1_extension_stripping_it:{code:6132,category:e.DiagnosticCategory.Message,key:"File_name_0_has_a_1_extension_stripping_it_6132",message:"File name '{0}' has a '{1}' extension - stripping it"},_0_is_declared_but_never_used:{code:6133,category:e.DiagnosticCategory.Error,key:"_0_is_declared_but_never_used_6133",message:"'{0}' is declared but never used."},Report_Errors_on_Unused_Locals:{code:6134,category:e.DiagnosticCategory.Message,key:"Report_Errors_on_Unused_Locals_6134",message:"Report Errors on Unused Locals."},Report_Errors_on_Unused_Parameters:{code:6135,category:e.DiagnosticCategory.Message,key:"Report_Errors_on_Unused_Parameters_6135",message:"Report Errors on Unused Parameters."},The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:{code:6136,category:e.DiagnosticCategory.Message,key:"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136",message:"The maximum dependency depth to search under node_modules and load JavaScript files"},No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0:{code:6137,category:e.DiagnosticCategory.Message,key:"No_types_specified_in_package_json_but_allowJs_is_set_so_returning_main_value_of_0_6137",message:"No types specified in 'package.json' but 'allowJs' is set, so returning 'main' value of '{0}'"},Variable_0_implicitly_has_an_1_type:{code:7005,category:e.DiagnosticCategory.Error,key:"Variable_0_implicitly_has_an_1_type_7005",message:"Variable '{0}' implicitly has an '{1}' type."},Parameter_0_implicitly_has_an_1_type:{code:7006,category:e.DiagnosticCategory.Error,key:"Parameter_0_implicitly_has_an_1_type_7006",message:"Parameter '{0}' implicitly has an '{1}' type."},Member_0_implicitly_has_an_1_type:{code:7008,category:e.DiagnosticCategory.Error,key:"Member_0_implicitly_has_an_1_type_7008",message:"Member '{0}' implicitly has an '{1}' type."},new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:{code:7009,category:e.DiagnosticCategory.Error,key:"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009",message:"'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."},_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:{code:7010,category:e.DiagnosticCategory.Error,key:"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010",message:"'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."},Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:{code:7011,category:e.DiagnosticCategory.Error,key:"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011",message:"Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."},Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7013,category:e.DiagnosticCategory.Error,key:"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013",message:"Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."},Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:{code:7015,category:e.DiagnosticCategory.Error,key:"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015",message:"Element implicitly has an 'any' type because index expression is not of type 'number'."},Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation:{code:7016,category:e.DiagnosticCategory.Error,key:"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation_7016",message:"Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation."},Index_signature_of_object_type_implicitly_has_an_any_type:{code:7017,category:e.DiagnosticCategory.Error,key:"Index_signature_of_object_type_implicitly_has_an_any_type_7017",message:"Index signature of object type implicitly has an 'any' type."},Object_literal_s_property_0_implicitly_has_an_1_type:{code:7018,category:e.DiagnosticCategory.Error,key:"Object_literal_s_property_0_implicitly_has_an_1_type_7018",message:"Object literal's property '{0}' implicitly has an '{1}' type."},Rest_parameter_0_implicitly_has_an_any_type:{code:7019,category:e.DiagnosticCategory.Error,key:"Rest_parameter_0_implicitly_has_an_any_type_7019",message:"Rest parameter '{0}' implicitly has an 'any[]' type."},Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:{code:7020,category:e.DiagnosticCategory.Error,key:"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020",message:"Call signature, which lacks return-type annotation, implicitly has an 'any' return type."},_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:{code:7022,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022",message:"'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."},_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7023,category:e.DiagnosticCategory.Error,key:"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023",message:"'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:{code:7024,category:e.DiagnosticCategory.Error,key:"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024",message:"Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."},Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type:{code:7025,category:e.DiagnosticCategory.Error,key:"Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025",message:"Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type."},JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:{code:7026,category:e.DiagnosticCategory.Error,key:"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026",message:"JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists"},Unreachable_code_detected:{code:7027,category:e.DiagnosticCategory.Error,key:"Unreachable_code_detected_7027",message:"Unreachable code detected."},Unused_label:{code:7028,category:e.DiagnosticCategory.Error,key:"Unused_label_7028",message:"Unused label."},Fallthrough_case_in_switch:{code:7029,category:e.DiagnosticCategory.Error,key:"Fallthrough_case_in_switch_7029",message:"Fallthrough case in switch."},Not_all_code_paths_return_a_value:{code:7030,category:e.DiagnosticCategory.Error,key:"Not_all_code_paths_return_a_value_7030",message:"Not all code paths return a value."},Binding_element_0_implicitly_has_an_1_type:{code:7031,category:e.DiagnosticCategory.Error,key:"Binding_element_0_implicitly_has_an_1_type_7031",message:"Binding element '{0}' implicitly has an '{1}' type."},You_cannot_rename_this_element:{code:8e3,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_this_element_8000",message:"You cannot rename this element."},You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:{code:8001,category:e.DiagnosticCategory.Error,key:"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001",message:"You cannot rename elements that are defined in the standard TypeScript library."},import_can_only_be_used_in_a_ts_file:{code:8002,category:e.DiagnosticCategory.Error,key:"import_can_only_be_used_in_a_ts_file_8002",message:"'import ... =' can only be used in a .ts file."},export_can_only_be_used_in_a_ts_file:{code:8003,category:e.DiagnosticCategory.Error,key:"export_can_only_be_used_in_a_ts_file_8003",message:"'export=' can only be used in a .ts file."},type_parameter_declarations_can_only_be_used_in_a_ts_file:{code:8004,category:e.DiagnosticCategory.Error,key:"type_parameter_declarations_can_only_be_used_in_a_ts_file_8004",message:"'type parameter declarations' can only be used in a .ts file."},implements_clauses_can_only_be_used_in_a_ts_file:{code:8005,category:e.DiagnosticCategory.Error,key:"implements_clauses_can_only_be_used_in_a_ts_file_8005",message:"'implements clauses' can only be used in a .ts file."},interface_declarations_can_only_be_used_in_a_ts_file:{code:8006,category:e.DiagnosticCategory.Error,key:"interface_declarations_can_only_be_used_in_a_ts_file_8006",message:"'interface declarations' can only be used in a .ts file."},module_declarations_can_only_be_used_in_a_ts_file:{code:8007,category:e.DiagnosticCategory.Error,key:"module_declarations_can_only_be_used_in_a_ts_file_8007",message:"'module declarations' can only be used in a .ts file."},type_aliases_can_only_be_used_in_a_ts_file:{code:8008,category:e.DiagnosticCategory.Error,key:"type_aliases_can_only_be_used_in_a_ts_file_8008",message:"'type aliases' can only be used in a .ts file."},_0_can_only_be_used_in_a_ts_file:{code:8009,category:e.DiagnosticCategory.Error,key:"_0_can_only_be_used_in_a_ts_file_8009",message:"'{0}' can only be used in a .ts file."},types_can_only_be_used_in_a_ts_file:{code:8010,category:e.DiagnosticCategory.Error,key:"types_can_only_be_used_in_a_ts_file_8010",message:"'types' can only be used in a .ts file."},type_arguments_can_only_be_used_in_a_ts_file:{code:8011,category:e.DiagnosticCategory.Error,key:"type_arguments_can_only_be_used_in_a_ts_file_8011",message:"'type arguments' can only be used in a .ts file."},parameter_modifiers_can_only_be_used_in_a_ts_file:{code:8012,category:e.DiagnosticCategory.Error,key:"parameter_modifiers_can_only_be_used_in_a_ts_file_8012",message:"'parameter modifiers' can only be used in a .ts file."},enum_declarations_can_only_be_used_in_a_ts_file:{code:8015,category:e.DiagnosticCategory.Error,key:"enum_declarations_can_only_be_used_in_a_ts_file_8015",message:"'enum declarations' can only be used in a .ts file."},type_assertion_expressions_can_only_be_used_in_a_ts_file:{code:8016,category:e.DiagnosticCategory.Error,key:"type_assertion_expressions_can_only_be_used_in_a_ts_file_8016",message:"'type assertion expressions' can only be used in a .ts file."},Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clauses:{code:9002,category:e.DiagnosticCategory.Error,key:"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002",message:"Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clauses."},class_expressions_are_not_currently_supported:{code:9003,category:e.DiagnosticCategory.Error,key:"class_expressions_are_not_currently_supported_9003",message:"'class' expressions are not currently supported."},JSX_attributes_must_only_be_assigned_a_non_empty_expression:{code:17e3,category:e.DiagnosticCategory.Error,key:"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000",message:"JSX attributes must only be assigned a non-empty 'expression'."},JSX_elements_cannot_have_multiple_attributes_with_the_same_name:{code:17001,category:e.DiagnosticCategory.Error,key:"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001",message:"JSX elements cannot have multiple attributes with the same name."},Expected_corresponding_JSX_closing_tag_for_0:{code:17002,category:e.DiagnosticCategory.Error,key:"Expected_corresponding_JSX_closing_tag_for_0_17002",message:"Expected corresponding JSX closing tag for '{0}'."},JSX_attribute_expected:{code:17003,category:e.DiagnosticCategory.Error,key:"JSX_attribute_expected_17003",message:"JSX attribute expected."},Cannot_use_JSX_unless_the_jsx_flag_is_provided:{code:17004,category:e.DiagnosticCategory.Error,key:"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004",message:"Cannot use JSX unless the '--jsx' flag is provided."},A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:{code:17005,category:e.DiagnosticCategory.Error,key:"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005",message:"A constructor cannot contain a 'super' call when its class extends 'null'"},An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17006,category:e.DiagnosticCategory.Error,key:"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006",message:"An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:{code:17007,category:e.DiagnosticCategory.Error,key:"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007",message:"A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."},JSX_element_0_has_no_corresponding_closing_tag:{code:17008,category:e.DiagnosticCategory.Error,key:"JSX_element_0_has_no_corresponding_closing_tag_17008",message:"JSX element '{0}' has no corresponding closing tag."},super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:{code:17009,category:e.DiagnosticCategory.Error,key:"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009",message:"'super' must be called before accessing 'this' in the constructor of a derived class."},Unknown_typing_option_0:{code:17010,category:e.DiagnosticCategory.Error,key:"Unknown_typing_option_0_17010",message:"Unknown typing option '{0}'."}}})(l||(l={}));var l;(function(e){function tokenIsIdentifierOrKeyword(e){return e>=69}e.tokenIsIdentifierOrKeyword=tokenIsIdentifierOrKeyword;var t={abstract:115,any:117,as:116,boolean:120,break:70,case:71,catch:72,class:73,continue:75,const:74,constructor:121,debugger:76,declare:122,default:77,delete:78,do:79,else:80,enum:81,export:82,extends:83,false:84,finally:85,for:86,from:136,function:87,get:123,if:88,implements:106,import:89,in:90,instanceof:91,interface:107,is:124,let:108,module:125,namespace:126,never:127,new:92,null:93,number:130,package:109,private:110,protected:111,public:112,readonly:128,require:129,global:137,return:94,set:131,static:113,string:132,super:95,switch:96,symbol:133,this:97,throw:98,true:99,try:100,type:134,typeof:101,undefined:135,var:102,void:103,while:104,with:105,yield:114,async:118,await:119,of:138,"{":15,"}":16,"(":17,")":18,"[":19,"]":20,".":21,"...":22,";":23,",":24,"<":25,">":27,"<=":28,">=":29,"==":30,"!=":31,"===":32,"!==":33,"=>":34,"+":35,"-":36,"**":38,"*":37,"/":39,"%":40,"++":41,"--":42,"<<":43,">":44,">>>":45,"&":46,"|":47,"^":48,"!":49,"~":50,"&&":51,"||":52,"?":53,":":54,"=":56,"+=":57,"-=":58,"*=":59,"**=":60,"/=":61,"%=":62,"<<=":63,">>=":64,">>>=":65,"&=":66,"|=":67,"^=":68,"@":55};var r=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var n=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500];var a=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];var i=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500];function lookupInUnicodeMap(e,t){if(e=1?a:r)}e.isUnicodeIdentifierStart=isUnicodeIdentifierStart;function isUnicodeIdentifierPart(e,t){return lookupInUnicodeMap(e,t>=1?i:n)}function makeReverseMap(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}var o=makeReverseMap(t);function tokenToString(e){return o[e]}e.tokenToString=tokenToString;function stringToToken(e){return t[e]}e.stringToToken=stringToToken;function computeLineStarts(e){var t=new Array;var r=0;var n=0;while(r127&&isLineBreak(a)){t.push(n);n=r}break}}t.push(n);return t}e.computeLineStarts=computeLineStarts;function getPositionOfLineAndCharacter(e,t,r){return computePositionOfLineAndCharacter(getLineStarts(e),t,r)}e.getPositionOfLineAndCharacter=getPositionOfLineAndCharacter;function computePositionOfLineAndCharacter(t,r,n){e.Debug.assert(r>=0&&r=8192&&e<=8203||8239===e||8287===e||12288===e||65279===e}e.isWhiteSpaceSingleLine=isWhiteSpaceSingleLine;function isLineBreak(e){return 10===e||13===e||8232===e||8233===e}e.isLineBreak=isLineBreak;function isDigit(e){return e>=48&&e<=57}function isOctalDigit(e){return e>=48&&e<=55}e.isOctalDigit=isOctalDigit;function couldStartTrivia(e,t){var r=e.charCodeAt(t);switch(r){case 13:case 10:case 9:case 11:case 12:case 32:case 47:case 60:case 61:case 62:return true;case 35:return 0===t;default:return r>127}}e.couldStartTrivia=couldStartTrivia;function skipTrivia(e,t,r,n){void 0===n&&(n=false);if(!(t>=0))return t;while(true){var a=e.charCodeAt(t);switch(a){case 13:10===e.charCodeAt(t+1)&&t++;case 10:t++;if(r)return t;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(n)break;if(47===e.charCodeAt(t+1)){t+=2;while(t127&&isWhiteSpace(a)){t++;continue}break}return t}}e.skipTrivia=skipTrivia;var c="<<<<<<<".length;function isConflictMarkerTrivia(t,r){e.Debug.assert(r>=0);if(0===r||isLineBreak(t.charCodeAt(r-1))){var n=t.charCodeAt(r);if(r+c127&&isWhiteSpace(o)){a&&a.length&&isLineBreak(o)&&(e.lastOrUndefined(a).hasTrailingNewLine=true);r++;continue}break}return a}return a}function getLeadingCommentRanges(e,t){return getCommentRanges(e,t,false)}e.getLeadingCommentRanges=getLeadingCommentRanges;function getTrailingCommentRanges(e,t){return getCommentRanges(e,t,true)}e.getTrailingCommentRanges=getTrailingCommentRanges;function getShebang(e){return l.test(e)?l.exec(e)[0]:void 0}e.getShebang=getShebang;function isIdentifierStart(e,t){return e>=65&&e<=90||e>=97&&e<=122||36===e||95===e||e>127&&isUnicodeIdentifierStart(e,t)}e.isIdentifierStart=isIdentifierStart;function isIdentifierPart(e,t){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||36===e||95===e||e>127&&isUnicodeIdentifierPart(e,t)}e.isIdentifierPart=isIdentifierPart;function isIdentifier(e,t){if(!isIdentifierStart(e.charCodeAt(0),t))return false;for(var r=1,n=e.length;r105},isReservedWord:function(){return m>=70&&m<=105},isUnterminated:function(){return h},reScanGreaterToken:reScanGreaterToken,reScanSlashToken:reScanSlashToken,reScanTemplateToken:reScanTemplateToken,scanJsxIdentifier:scanJsxIdentifier,reScanJsxToken:reScanJsxToken,scanJsxToken:scanJsxToken,scanJSDocToken:scanJSDocToken,scan:scan,getText:getText,setText:setText,setScriptTarget:setScriptTarget,setLanguageVariant:setLanguageVariant,setOnError:setOnError,setTextPos:setTextPos,tryScan:tryScan,lookAhead:lookAhead,scanRange:scanRange};function error(e,t){o&&o(e,t||0)}function scanNumber(){var t=u;while(isDigit(i.charCodeAt(u)))u++;if(46===i.charCodeAt(u)){u++;while(isDigit(i.charCodeAt(u)))u++}var r=u;if(69===i.charCodeAt(u)||101===i.charCodeAt(u)){u++;43!==i.charCodeAt(u)&&45!==i.charCodeAt(u)||u++;if(isDigit(i.charCodeAt(u))){u++;while(isDigit(i.charCodeAt(u)))u++;r=u}else error(e.Diagnostics.Digit_expected)}return""+ +i.substring(t,r)}function scanOctalDigits(){var e=u;while(isOctalDigit(i.charCodeAt(u)))u++;return+i.substring(e,u)}function scanExactNumberOfHexDigits(e){return scanHexDigits(e,false)}function scanMinimumNumberOfHexDigits(e){return scanHexDigits(e,true)}function scanHexDigits(e,t){var r=0;var n=0;while(r=48&&a<=57)n=16*n+a-48;else if(a>=65&&a<=70)n=16*n+a-65+10;else{if(!(a>=97&&a<=102))break;n=16*n+a-97+10}u++;r++}r=_){r+=i.substring(n,u);h=true;error(e.Diagnostics.Unterminated_string_literal);break}var a=i.charCodeAt(u);if(a===t){r+=i.substring(n,u);u++;break}if(92!==a){if(isLineBreak(a)){r+=i.substring(n,u);h=true;error(e.Diagnostics.Unterminated_string_literal);break}u++}else{r+=i.substring(n,u);r+=scanEscapeSequence();n=u}}return r}function scanTemplateAndSetTokenValue(){var t=96===i.charCodeAt(u);u++;var r=u;var n="";var a;while(true){if(u>=_){n+=i.substring(r,u);h=true;error(e.Diagnostics.Unterminated_template_literal);a=t?11:14;break}var o=i.charCodeAt(u);if(96===o){n+=i.substring(r,u);u++;a=t?11:14;break}if(36===o&&u+1<_&&123===i.charCodeAt(u+1)){n+=i.substring(r,u);u+=2;a=t?12:13;break}if(92!==o)if(13!==o)u++;else{n+=i.substring(r,u);u++;u<_&&10===i.charCodeAt(u)&&u++;n+="\n";r=u}else{n+=i.substring(r,u);n+=scanEscapeSequence();r=u}}e.Debug.assert(void 0!==a);g=n;return a}function scanEscapeSequence(){u++;if(u>=_){error(e.Diagnostics.Unexpected_end_of_text);return""}var t=i.charCodeAt(u);u++;switch(t){case 48:return"\0";case 98:return"\b";case 116:return"\t";case 110:return"\n";case 118:return"\v";case 102:return"\f";case 114:return"\r";case 39:return"'";case 34:return'"';case 117:if(u<_&&123===i.charCodeAt(u)){y=true;u++;return scanExtendedUnicodeEscape()}return scanHexadecimalEscape(4);case 120:return scanHexadecimalEscape(2);case 13:u<_&&10===i.charCodeAt(u)&&u++;case 10:case 8232:case 8233:return"";default:return String.fromCharCode(t)}}function scanHexadecimalEscape(t){var r=scanExactNumberOfHexDigits(t);if(r>=0)return String.fromCharCode(r);error(e.Diagnostics.Hexadecimal_digit_expected);return""}function scanExtendedUnicodeEscape(){var t=scanMinimumNumberOfHexDigits(1);var r=false;if(t<0){error(e.Diagnostics.Hexadecimal_digit_expected);r=true}else if(t>1114111){error(e.Diagnostics.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive);r=true}if(u>=_){error(e.Diagnostics.Unexpected_end_of_text);r=true}else if(125===i.charCodeAt(u))u++;else{error(e.Diagnostics.Unterminated_Unicode_escape_sequence);r=true}return r?"":utf16EncodeAsString(t)}function utf16EncodeAsString(t){e.Debug.assert(0<=t&&t<=1114111);if(t<=65535)return String.fromCharCode(t);var r=Math.floor((t-65536)/1024)+55296;var n=(t-65536)%1024+56320;return String.fromCharCode(r,n)}function peekUnicodeEscape(){if(u+5<_&&117===i.charCodeAt(u+1)){var e=u;u+=2;var t=scanExactNumberOfHexDigits(4);u=e;return t}return-1}function scanIdentifierParts(){var e="";var t=u;while(u<_){var n=i.charCodeAt(u);if(isIdentifierPart(n,r))u++;else{if(92!==n)break;n=peekUnicodeEscape();if(!(n>=0&&isIdentifierPart(n,r)))break;e+=i.substring(t,u);e+=String.fromCharCode(n);u+=6;t=u}}e+=i.substring(t,u);return e}function getIdentifierToken(){var e=g.length;if(e>=2&&e<=11){var r=g.charCodeAt(0);if(r>=97&&r<=122&&s.call(t,g))return m=t[g]}return m=69}function scanBinaryOrOctalDigits(t){e.Debug.assert(2!==t||8!==t,"Expected either base 2 or base 8");var r=0;var n=0;while(true){var a=i.charCodeAt(u);var o=a-48;if(!isDigit(a)||o>=t)break;r=r*t+o;u++;n++}return 0===n?-1:r}function scan(){d=u;y=false;f=false;h=false;while(true){p=u;if(u>=_)return m=1;var t=i.charCodeAt(u);if(35===t&&0===u&&isShebangTrivia(i,u)){u=scanShebangTrivia(i,u);if(n)continue;return m=6}switch(t){case 10:case 13:f=true;if(n){u++;continue}13===t&&u+1<_&&10===i.charCodeAt(u+1)?u+=2:u++;return m=4;case 9:case 11:case 12:case 32:if(n){u++;continue}while(u<_&&isWhiteSpaceSingleLine(i.charCodeAt(u)))u++;return m=5;case 33:if(61===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=33):(u+=2,m=31);u++;return m=49;case 34:case 39:g=scanString();return m=9;case 96:return m=scanTemplateAndSetTokenValue();case 37:if(61===i.charCodeAt(u+1))return u+=2,m=62;u++;return m=40;case 38:if(38===i.charCodeAt(u+1))return u+=2,m=51;if(61===i.charCodeAt(u+1))return u+=2,m=66;u++;return m=46;case 40:u++;return m=17;case 41:u++;return m=18;case 42:if(61===i.charCodeAt(u+1))return u+=2,m=59;if(42===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=60):(u+=2,m=38);u++;return m=37;case 43:if(43===i.charCodeAt(u+1))return u+=2,m=41;if(61===i.charCodeAt(u+1))return u+=2,m=57;u++;return m=35;case 44:u++;return m=24;case 45:if(45===i.charCodeAt(u+1))return u+=2,m=42;if(61===i.charCodeAt(u+1))return u+=2,m=58;u++;return m=36;case 46:if(isDigit(i.charCodeAt(u+1))){g=scanNumber();return m=8}if(46===i.charCodeAt(u+1)&&46===i.charCodeAt(u+2))return u+=3,m=22;u++;return m=21;case 47:if(47===i.charCodeAt(u+1)){u+=2;while(u<_){if(isLineBreak(i.charCodeAt(u)))break;u++}if(n)continue;return m=2}if(42===i.charCodeAt(u+1)){u+=2;var o=false;while(u<_){var s=i.charCodeAt(u);if(42===s&&47===i.charCodeAt(u+1)){u+=2;o=true;break}isLineBreak(s)&&(f=true);u++}o||error(e.Diagnostics.Asterisk_Slash_expected);if(n)continue;h=!o;return m=3}if(61===i.charCodeAt(u+1))return u+=2,m=61;u++;return m=39;case 48:if(u+2<_&&(88===i.charCodeAt(u+1)||120===i.charCodeAt(u+1))){u+=2;var c=scanMinimumNumberOfHexDigits(1);if(c<0){error(e.Diagnostics.Hexadecimal_digit_expected);c=0}g=""+c;return m=8}if(u+2<_&&(66===i.charCodeAt(u+1)||98===i.charCodeAt(u+1))){u+=2;var c=scanBinaryOrOctalDigits(2);if(c<0){error(e.Diagnostics.Binary_digit_expected);c=0}g=""+c;return m=8}if(u+2<_&&(79===i.charCodeAt(u+1)||111===i.charCodeAt(u+1))){u+=2;var c=scanBinaryOrOctalDigits(8);if(c<0){error(e.Diagnostics.Octal_digit_expected);c=0}g=""+c;return m=8}if(u+1<_&&isOctalDigit(i.charCodeAt(u+1))){g=""+scanOctalDigits();return m=8}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:g=scanNumber();return m=8;case 58:u++;return m=54;case 59:u++;return m=23;case 60:if(isConflictMarkerTrivia(i,u)){u=scanConflictMarkerTrivia(i,u,error);if(n)continue;return m=7}if(60===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=63):(u+=2,m=43);if(61===i.charCodeAt(u+1))return u+=2,m=28;if(1===a&&47===i.charCodeAt(u+1)&&42!==i.charCodeAt(u+2))return u+=2,m=26;u++;return m=25;case 61:if(isConflictMarkerTrivia(i,u)){u=scanConflictMarkerTrivia(i,u,error);if(n)continue;return m=7}if(61===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=32):(u+=2,m=30);if(62===i.charCodeAt(u+1))return u+=2,m=34;u++;return m=56;case 62:if(isConflictMarkerTrivia(i,u)){u=scanConflictMarkerTrivia(i,u,error);if(n)continue;return m=7}u++;return m=27;case 63:u++;return m=53;case 91:u++;return m=19;case 93:u++;return m=20;case 94:if(61===i.charCodeAt(u+1))return u+=2,m=68;u++;return m=48;case 123:u++;return m=15;case 124:if(124===i.charCodeAt(u+1))return u+=2,m=52;if(61===i.charCodeAt(u+1))return u+=2,m=67;u++;return m=47;case 125:u++;return m=16;case 126:u++;return m=50;case 64:u++;return m=55;case 92:var l=peekUnicodeEscape();if(l>=0&&isIdentifierStart(l,r)){u+=6;g=String.fromCharCode(l)+scanIdentifierParts();return m=getIdentifierToken()}error(e.Diagnostics.Invalid_character);u++;return m=0;default:if(isIdentifierStart(t,r)){u++;while(u<_&&isIdentifierPart(t=i.charCodeAt(u),r))u++;g=i.substring(p,u);92===t&&(g+=scanIdentifierParts());return m=getIdentifierToken()}if(isWhiteSpaceSingleLine(t)){u++;continue}if(isLineBreak(t)){f=true;u++;continue}error(e.Diagnostics.Invalid_character);u++;return m=0}}}function reScanGreaterToken(){if(27===m){if(62===i.charCodeAt(u)){if(62===i.charCodeAt(u+1))return 61===i.charCodeAt(u+2)?(u+=3,m=65):(u+=2,m=45);if(61===i.charCodeAt(u+1))return u+=2,m=64;u++;return m=44}if(61===i.charCodeAt(u)){u++;return m=29}}return m}function reScanSlashToken(){if(39===m||61===m){var t=p+1;var n=false;var a=false;while(true){if(t>=_){h=true;error(e.Diagnostics.Unterminated_regular_expression_literal);break}var o=i.charCodeAt(t);if(isLineBreak(o)){h=true;error(e.Diagnostics.Unterminated_regular_expression_literal);break}if(n)n=false;else{if(47===o&&!a){t++;break}91===o?a=true:92===o?n=true:93===o&&(a=false)}t++}while(t<_&&isIdentifierPart(i.charCodeAt(t),r))t++;u=t;g=i.substring(p,u);m=10}return m}function reScanTemplateToken(){e.Debug.assert(16===m,"'reScanTemplateToken' should only be called on a '}'");u=p;return m=scanTemplateAndSetTokenValue()}function reScanJsxToken(){u=p=d;return m=scanJsxToken()}function scanJsxToken(){d=p=u;if(u>=_)return m=1;var e=i.charCodeAt(u);if(60===e){if(47===i.charCodeAt(u+1)){u+=2;return m=26}u++;return m=25}if(123===e){u++;return m=15}while(u<_){u++;e=i.charCodeAt(u);if(123===e||60===e)break}return m=244}function scanJsxIdentifier(){if(tokenIsIdentifierOrKeyword(m)){var e=u;while(u<_){var t=i.charCodeAt(u);if(45!==t&&!(e===u?isIdentifierStart(t,r):isIdentifierPart(t,r)))break;u++}g+=i.substr(e,u-e)}return m}function scanJSDocToken(){if(u>=_)return m=1;d=u;var e=i.charCodeAt(u);while(u<_){e=i.charCodeAt(u);if(!isWhiteSpaceSingleLine(e))break;u++}p=u;switch(e){case 64:return u+=1,m=55;case 10:case 13:return u+=1,m=4;case 42:return u+=1,m=37;case 123:return u+=1,m=15;case 125:return u+=1,m=16;case 91:return u+=1,m=19;case 93:return u+=1,m=20;case 61:return u+=1,m=56;case 44:return u+=1,m=24}if(isIdentifierStart(e,2)){u++;while(isIdentifierPart(i.charCodeAt(u),2)&&u<_)u++;return m=69}return u+=1,m=0}function speculationHelper(e,t){var r=u;var n=d;var a=p;var i=m;var o=g;var s=f;var c=e();if(!c||t){u=r;d=n;p=a;m=i;g=o;f=s}return c}function scanRange(e,t,r){var n=_;var a=u;var o=d;var s=p;var c=m;var l=f;var v=g;var b=y;var T=h;setText(i,e,t);var k=r();_=n;u=a;d=o;p=s;m=c;f=l;g=v;y=b;h=T;return k}function lookAhead(e){return speculationHelper(e,true)}function tryScan(e){return speculationHelper(e,false)}function getText(){return i}function setText(e,t,r){i=e||"";_=void 0===r?i.length:t+r;setTextPos(t||0)}function setOnError(e){o=e}function setScriptTarget(e){r=e}function setLanguageVariant(e){a=e}function setTextPos(t){e.Debug.assert(t>=0);u=t;d=t;p=t;m=0;f=false;g=void 0;y=false;h=false}}e.createScanner=createScanner})(l||(l={}));var l;(function(e){function getDeclarationOfKind(e,t){var r=e.declarations;if(r)for(var n=0,a=r;n=0);return e.getLineStarts(r)[t]}e.getStartPositionOfLine=getStartPositionOfLine;function nodePosToString(t){var r=getSourceFileOfNode(t);var n=e.getLineAndCharacterOfPosition(r,t.pos);return r.fileName+"("+(n.line+1)+","+(n.character+1)+")"}e.nodePosToString=nodePosToString;function getStartPosOfNode(e){return e.pos}e.getStartPosOfNode=getStartPosOfNode;function getEndLinePosition(t,r){e.Debug.assert(t>=0);var n=e.getLineStarts(r);var a=t;var i=r.text;if(a+1===n.length)return i.length-1;var o=n[a];var s=n[a+1]-1;e.Debug.assert(e.isLineBreak(i.charCodeAt(s)));while(o<=s&&e.isLineBreak(i.charCodeAt(s)))s--;return s}e.getEndLinePosition=getEndLinePosition;function nodeIsMissing(e){return!e||e.pos===e.end&&e.pos>=0&&1!==e.kind}e.nodeIsMissing=nodeIsMissing;function nodeIsPresent(e){return!nodeIsMissing(e)}e.nodeIsPresent=nodeIsPresent;function getTokenPosOfNode(t,r,n){return nodeIsMissing(t)?t.pos:isJSDocNode(t)?e.skipTrivia((r||getSourceFileOfNode(t)).text,t.pos,false,true):n&&t.jsDocComments&&t.jsDocComments.length>0?getTokenPosOfNode(t.jsDocComments[0]):282===t.kind&&t._children.length>0?getTokenPosOfNode(t._children[0],r,n):e.skipTrivia((r||getSourceFileOfNode(t)).text,t.pos)}e.getTokenPosOfNode=getTokenPosOfNode;function isJSDocNode(e){return e.kind>=257&&e.kind<=281}e.isJSDocNode=isJSDocNode;function getNonDecoratorTokenPosOfNode(t,r){return nodeIsMissing(t)||!t.decorators?getTokenPosOfNode(t,r):e.skipTrivia((r||getSourceFileOfNode(t)).text,t.decorators.end)}e.getNonDecoratorTokenPosOfNode=getNonDecoratorTokenPosOfNode;function getSourceTextOfNodeFromSourceFile(t,r,n){void 0===n&&(n=false);if(nodeIsMissing(r))return"";var a=t.text;return a.substring(n?r.pos:e.skipTrivia(a,r.pos),r.end)}e.getSourceTextOfNodeFromSourceFile=getSourceTextOfNodeFromSourceFile;function getTextOfNodeFromSourceText(t,r){return nodeIsMissing(r)?"":t.substring(e.skipTrivia(t,r.pos),r.end)}e.getTextOfNodeFromSourceText=getTextOfNodeFromSourceText;function getTextOfNode(e,t){void 0===t&&(t=false);return getSourceTextOfNodeFromSourceFile(getSourceFileOfNode(e),e,t)}e.getTextOfNode=getTextOfNode;function escapeIdentifier(e){return e.length>=2&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)?"_"+e:e}e.escapeIdentifier=escapeIdentifier;function unescapeIdentifier(e){return e.length>=3&&95===e.charCodeAt(0)&&95===e.charCodeAt(1)&&95===e.charCodeAt(2)?e.substr(1):e}e.unescapeIdentifier=unescapeIdentifier;function makeIdentifierFromModuleName(t){return e.getBaseFileName(t).replace(/^(\d)/,"_$1").replace(/\W/g,"_")}e.makeIdentifierFromModuleName=makeIdentifierFromModuleName;function isBlockOrCatchScoped(e){return 0!==(3072&getCombinedNodeFlags(e))||isCatchClauseVariableDeclaration(e)}e.isBlockOrCatchScoped=isBlockOrCatchScoped;function isAmbientModule(e){return e&&225===e.kind&&(9===e.name.kind||isGlobalScopeAugmentation(e))}e.isAmbientModule=isAmbientModule;function isShorthandAmbientModule(e){return 225===e.kind&&!e.body}e.isShorthandAmbientModule=isShorthandAmbientModule;function isBlockScopedContainerTopLevel(e){return 256===e.kind||225===e.kind||isFunctionLike(e)||isFunctionBlock(e)}e.isBlockScopedContainerTopLevel=isBlockScopedContainerTopLevel;function isGlobalScopeAugmentation(e){return!!(131072&e.flags)}e.isGlobalScopeAugmentation=isGlobalScopeAugmentation;function isExternalModuleAugmentation(t){if(!t||!isAmbientModule(t))return false;switch(t.parent.kind){case 256:return e.isExternalModule(t.parent);case 226:return isAmbientModule(t.parent.parent)&&!e.isExternalModule(t.parent.parent.parent)}return false}e.isExternalModuleAugmentation=isExternalModuleAugmentation;function getEnclosingBlockScopeContainer(e){var t=e.parent;while(t){if(isFunctionLike(t))return t;switch(t.kind){case 256:case 227:case 252:case 225:case 206:case 207:case 208:return t;case 199:if(!isFunctionLike(t.parent))return t}t=t.parent}}e.getEnclosingBlockScopeContainer=getEnclosingBlockScopeContainer;function isCatchClauseVariableDeclaration(e){return e&&218===e.kind&&e.parent&&252===e.parent.kind}e.isCatchClauseVariableDeclaration=isCatchClauseVariableDeclaration;function declarationNameToString(e){return 0===getFullWidth(e)?"(Missing)":getTextOfNode(e)}e.declarationNameToString=declarationNameToString;function createDiagnosticForNode(t,r,n,a,i){var o=getSourceFileOfNode(t);var s=getErrorSpanForNode(o,t);return e.createFileDiagnostic(o,s.start,s.length,r,n,a,i)}e.createDiagnosticForNode=createDiagnosticForNode;function createDiagnosticForNodeFromMessageChain(e,t){var r=getSourceFileOfNode(e);var n=getErrorSpanForNode(r,e);return{file:r,start:n.start,length:n.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText}}e.createDiagnosticForNodeFromMessageChain=createDiagnosticForNodeFromMessageChain;function getSpanOfTokenAtPosition(t,r){var n=e.createScanner(t.languageVersion,true,t.languageVariant,t.text,void 0,r);n.scan();var a=n.getTokenPos();return e.createTextSpanFromBounds(a,n.getTextPos())}e.getSpanOfTokenAtPosition=getSpanOfTokenAtPosition;function getErrorSpanForArrowFunction(t,r){var n=e.skipTrivia(t.text,r.pos);if(r.body&&199===r.body.kind){var a=e.getLineAndCharacterOfPosition(t,r.body.pos).line;var i=e.getLineAndCharacterOfPosition(t,r.body.end).line;if(a/;e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx=/^(\/\/\/\s*/;e.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;function isTypeNode(t){if(154<=t.kind&&t.kind<=166)return true;switch(t.kind){case 117:case 130:case 132:case 120:case 133:case 135:case 127:return true;case 103:return 183!==t.parent.kind;case 194:return!isExpressionWithTypeArgumentsInClassExtendsClause(t);case 69:(139===t.parent.kind&&t.parent.right===t||172===t.parent.kind&&t.parent.name===t)&&(t=t.parent);e.Debug.assert(69===t.kind||139===t.kind||172===t.kind,"'node' was expected to be a qualified name, identifier or property access in 'isTypeNode'.");case 139:case 172:case 97:var r=t.parent;if(158===r.kind)return false;if(154<=r.kind&&r.kind<=166)return true;switch(r.kind){case 194:return!isExpressionWithTypeArgumentsInClassExtendsClause(r);case 141:return t===r.constraint;case 145:case 144:case 142:case 218:return t===r.type;case 220:case 179:case 180:case 148:case 147:case 146:case 149:case 150:return t===r.type;case 151:case 152:case 153:return t===r.type;case 177:return t===r.type;case 174:case 175:return r.typeArguments&&e.indexOf(r.typeArguments,t)>=0;case 176:return false}}return false}e.isTypeNode=isTypeNode;function forEachReturnStatement(t,r){return traverse(t);function traverse(t){switch(t.kind){case 211:return r(t);case 227:case 199:case 203:case 204:case 205:case 206:case 207:case 208:case 212:case 213:case 249:case 250:case 214:case 216:case 252:return e.forEachChild(t,traverse)}}}e.forEachReturnStatement=forEachReturnStatement;function forEachYieldExpression(t,r){return traverse(t);function traverse(t){switch(t.kind){case 190:r(t);var n=t.expression;n&&traverse(n);case 224:case 222:case 225:case 223:case 221:case 192:return;default:if(isFunctionLike(t)){var a=t.name;if(a&&140===a.kind){traverse(a.expression);return}}else isTypeNode(t)||e.forEachChild(t,traverse)}}}e.forEachYieldExpression=forEachYieldExpression;function isVariableLike(e){if(e)switch(e.kind){case 169:case 255:case 142:case 253:case 145:case 144:case 254:case 218:return true}return false}e.isVariableLike=isVariableLike;function isAccessor(e){return e&&(149===e.kind||150===e.kind)}e.isAccessor=isAccessor;function isClassLike(e){return e&&(221===e.kind||192===e.kind)}e.isClassLike=isClassLike;function isFunctionLike(e){return e&&isFunctionLikeKind(e.kind)}e.isFunctionLike=isFunctionLike;function isFunctionLikeKind(e){switch(e){case 148:case 179:case 220:case 180:case 147:case 146:case 149:case 150:case 151:case 152:case 153:case 156:case 157:return true}return false}e.isFunctionLikeKind=isFunctionLikeKind;function introducesArgumentsExoticObject(e){switch(e.kind){case 147:case 146:case 148:case 149:case 150:case 220:case 179:return true}return false}e.introducesArgumentsExoticObject=introducesArgumentsExoticObject;function isIterationStatement(e,t){switch(e.kind){case 206:case 207:case 208:case 204:case 205:return true;case 214:return t&&isIterationStatement(e.statement,t)}return false}e.isIterationStatement=isIterationStatement;function isFunctionBlock(e){return e&&199===e.kind&&isFunctionLike(e.parent)}e.isFunctionBlock=isFunctionBlock;function isObjectLiteralMethod(e){return e&&147===e.kind&&171===e.parent.kind}e.isObjectLiteralMethod=isObjectLiteralMethod;function isIdentifierTypePredicate(e){return e&&1===e.kind}e.isIdentifierTypePredicate=isIdentifierTypePredicate;function isThisTypePredicate(e){return e&&0===e.kind}e.isThisTypePredicate=isThisTypePredicate;function getContainingFunction(e){while(true){e=e.parent;if(!e||isFunctionLike(e))return e}}e.getContainingFunction=getContainingFunction;function getContainingClass(e){while(true){e=e.parent;if(!e||isClassLike(e))return e}}e.getContainingClass=getContainingClass;function getThisContainer(e,t){while(true){e=e.parent;if(!e)return;switch(e.kind){case 140:if(isClassLike(e.parent.parent))return e;e=e.parent;break;case 143:142===e.parent.kind&&isClassElement(e.parent.parent)?e=e.parent.parent:isClassElement(e.parent)&&(e=e.parent);break;case 180:if(!t)continue;case 220:case 179:case 225:case 145:case 144:case 147:case 146:case 148:case 149:case 150:case 151:case 152:case 153:case 224:case 256:return e}}}e.getThisContainer=getThisContainer;function getSuperContainer(e,t){while(true){e=e.parent;if(!e)return e;switch(e.kind){case 140:e=e.parent;break;case 220:case 179:case 180:if(!t)continue;case 145:case 144:case 147:case 146:case 148:case 149:case 150:return e;case 143:142===e.parent.kind&&isClassElement(e.parent.parent)?e=e.parent.parent:isClassElement(e.parent)&&(e=e.parent);break}}}e.getSuperContainer=getSuperContainer;function getImmediatelyInvokedFunctionExpression(e){if(179===e.kind||180===e.kind){var t=e;var r=e.parent;while(178===r.kind){t=r;r=r.parent}if(174===r.kind&&r.expression===t)return r}}e.getImmediatelyInvokedFunctionExpression=getImmediatelyInvokedFunctionExpression;function isSuperPropertyOrElementAccess(e){return(172===e.kind||173===e.kind)&&95===e.expression.kind}e.isSuperPropertyOrElementAccess=isSuperPropertyOrElementAccess;function getEntityNameFromTypeNode(e){if(e)switch(e.kind){case 155:return e.typeName;case 194:return e.expression;case 69:case 139:return e}}e.getEntityNameFromTypeNode=getEntityNameFromTypeNode;function getInvokedExpression(e){return 176===e.kind?e.tag:e.expression}e.getInvokedExpression=getInvokedExpression;function nodeCanBeDecorated(e){switch(e.kind){case 221:return true;case 145:return 221===e.parent.kind;case 149:case 150:case 147:return void 0!==e.body&&221===e.parent.kind;case 142:return void 0!==e.parent.body&&(148===e.parent.kind||147===e.parent.kind||150===e.parent.kind)&&221===e.parent.parent.kind}return false}e.nodeCanBeDecorated=nodeCanBeDecorated;function nodeIsDecorated(e){return void 0!==e.decorators&&nodeCanBeDecorated(e)}e.nodeIsDecorated=nodeIsDecorated;function isPropertyAccessExpression(e){return 172===e.kind}e.isPropertyAccessExpression=isPropertyAccessExpression;function isElementAccessExpression(e){return 173===e.kind}e.isElementAccessExpression=isElementAccessExpression;function isJSXTagName(e){var t=e.parent;return(243===t.kind||242===t.kind||245===t.kind)&&t.tagName===e}e.isJSXTagName=isJSXTagName;function isExpression(e){switch(e.kind){case 97:case 95:case 93:case 99:case 84:case 10:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 195:case 177:case 196:case 178:case 179:case 192:case 180:case 183:case 181:case 182:case 185:case 186:case 187:case 188:case 191:case 189:case 11:case 193:case 241:case 242:case 190:case 184:return true;case 139:while(139===e.parent.kind)e=e.parent;return 158===e.parent.kind||isJSXTagName(e);case 69:if(158===e.parent.kind||isJSXTagName(e))return true;case 8:case 9:case 97:var t=e.parent;switch(t.kind){case 218:case 142:case 145:case 144:case 255:case 253:case 169:return t.initializer===e;case 202:case 203:case 204:case 205:case 211:case 212:case 213:case 249:case 215:case 213:return t.expression===e;case 206:var r=t;return r.initializer===e&&219!==r.initializer.kind||r.condition===e||r.incrementor===e;case 207:case 208:var n=t;return n.initializer===e&&219!==n.initializer.kind||n.expression===e;case 177:case 195:return e===t.expression;case 197:return e===t.expression;case 140:return e===t.expression;case 143:case 248:case 247:return true;case 194:return t.expression===e&&isExpressionWithTypeArgumentsInClassExtendsClause(t);default:if(isExpression(t))return true}}return false}e.isExpression=isExpression;function isExternalModuleNameRelative(e){return"./"===e.substr(0,2)||"../"===e.substr(0,3)||".\\"===e.substr(0,2)||"..\\"===e.substr(0,3)}e.isExternalModuleNameRelative=isExternalModuleNameRelative;function isInstantiatedModule(t,r){var n=e.getModuleInstanceState(t);return 1===n||r&&2===n}e.isInstantiatedModule=isInstantiatedModule;function isExternalModuleImportEqualsDeclaration(e){return 229===e.kind&&240===e.moduleReference.kind}e.isExternalModuleImportEqualsDeclaration=isExternalModuleImportEqualsDeclaration;function getExternalModuleImportEqualsDeclarationExpression(t){e.Debug.assert(isExternalModuleImportEqualsDeclaration(t));return t.moduleReference.expression}e.getExternalModuleImportEqualsDeclarationExpression=getExternalModuleImportEqualsDeclarationExpression;function isInternalModuleImportEqualsDeclaration(e){return 229===e.kind&&240!==e.moduleReference.kind}e.isInternalModuleImportEqualsDeclaration=isInternalModuleImportEqualsDeclaration;function isSourceFileJavaScript(e){return isInJavaScriptFile(e)}e.isSourceFileJavaScript=isSourceFileJavaScript;function isInJavaScriptFile(e){return e&&!!(134217728&e.flags)}e.isInJavaScriptFile=isInJavaScriptFile;function isRequireCall(e,t){var r=174===e.kind&&69===e.expression.kind&&"require"===e.expression.text&&1===e.arguments.length;return r&&(!t||9===e.arguments[0].kind)}e.isRequireCall=isRequireCall;function isSingleOrDoubleQuote(e){return 39===e||34===e}e.isSingleOrDoubleQuote=isSingleOrDoubleQuote;function isDeclarationOfFunctionExpression(e){if(e.valueDeclaration&&218===e.valueDeclaration.kind){var t=e.valueDeclaration;return t.initializer&&179===t.initializer.kind}return false}e.isDeclarationOfFunctionExpression=isDeclarationOfFunctionExpression;function getSpecialPropertyAssignmentKind(e){if(!isInJavaScriptFile(e))return 0;if(187!==e.kind)return 0;var t=e;if(56!==t.operatorToken.kind||172!==t.left.kind)return 0;var r=t.left;if(69===r.expression.kind){var n=r.expression;if("exports"===n.text)return 1;if("module"===n.text&&"exports"===r.name.text)return 2}else{if(97===r.expression.kind)return 4;if(172===r.expression.kind){var a=r.expression;if(69===a.expression.kind){var i=a.expression;if("module"===i.text&&"exports"===a.name.text)return 1;if("prototype"===a.name.text)return 3}}}return 0}e.getSpecialPropertyAssignmentKind=getSpecialPropertyAssignmentKind;function getExternalModuleName(e){if(230===e.kind)return e.moduleSpecifier;if(229===e.kind){var t=e.moduleReference;if(240===t.kind)return t.expression}return 236===e.kind?e.moduleSpecifier:225===e.kind&&9===e.name.kind?e.name:void 0}e.getExternalModuleName=getExternalModuleName;function hasQuestionToken(e){if(e)switch(e.kind){case 142:case 147:case 146:case 254:case 253:case 145:case 144:return void 0!==e.questionToken}return false}e.hasQuestionToken=hasQuestionToken;function isJSDocConstructSignature(e){return 269===e.kind&&e.parameters.length>0&&271===e.parameters[0].type.kind}e.isJSDocConstructSignature=isJSDocConstructSignature;function getJSDocTag(e,t,r){if(e){var n=getJSDocComments(e,r);if(n)for(var a=0,i=n;a0?t.types[0]:void 0}e.getClassExtendsHeritageClauseElement=getClassExtendsHeritageClauseElement;function getClassImplementsHeritageClauseElements(e){var t=getHeritageClause(e.heritageClauses,106);return t?t.types:void 0}e.getClassImplementsHeritageClauseElements=getClassImplementsHeritageClauseElements;function getInterfaceBaseTypeNodes(e){var t=getHeritageClause(e.heritageClauses,83);return t?t.types:void 0}e.getInterfaceBaseTypeNodes=getInterfaceBaseTypeNodes;function getHeritageClause(e,t){if(e)for(var r=0,n=e;r/gim;if(n.test(t)){if(a.test(t))return{isNoDefaultLib:true};var i=e.fullTripleSlashReferencePathRegEx.exec(t);var o=!i&&e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx.exec(t);if(i||o){var s=r.pos;var c=r.end;return{fileReference:{pos:s,end:c,fileName:(i||o)[3]},isNoDefaultLib:false,isTypeReferenceDirective:!!o}}return{diagnosticMessage:e.Diagnostics.Invalid_reference_directive_syntax,isNoDefaultLib:false}}}e.getFileReferenceFromReferencePath=getFileReferenceFromReferencePath;function isKeyword(e){return 70<=e&&e<=138}e.isKeyword=isKeyword;function isTrivia(e){return 2<=e&&e<=7}e.isTrivia=isTrivia;function isAsyncFunctionLike(e){return isFunctionLike(e)&&0!==(256&e.flags)&&!isAccessor(e)}e.isAsyncFunctionLike=isAsyncFunctionLike;function isStringOrNumericLiteral(e){return 9===e||8===e}e.isStringOrNumericLiteral=isStringOrNumericLiteral;function hasDynamicName(e){return e.name&&isDynamicName(e.name)}e.hasDynamicName=hasDynamicName;function isDynamicName(e){return 140===e.kind&&!isStringOrNumericLiteral(e.expression.kind)&&!isWellKnownSymbolSyntactically(e.expression)}e.isDynamicName=isDynamicName;function isWellKnownSymbolSyntactically(e){return isPropertyAccessExpression(e)&&isESSymbolIdentifier(e.expression)}e.isWellKnownSymbolSyntactically=isWellKnownSymbolSyntactically;function getPropertyNameForPropertyNameNode(e){if(69===e.kind||9===e.kind||8===e.kind||142===e.kind)return e.text;if(140===e.kind){var t=e.expression;if(isWellKnownSymbolSyntactically(t)){var r=t.name.text;return getPropertyNameForKnownSymbolName(r)}if(9===t.kind||8===t.kind)return t.text}}e.getPropertyNameForPropertyNameNode=getPropertyNameForPropertyNameNode;function getPropertyNameForKnownSymbolName(e){return"__@"+e}e.getPropertyNameForKnownSymbolName=getPropertyNameForKnownSymbolName;function isESSymbolIdentifier(e){return 69===e.kind&&"Symbol"===e.text}e.isESSymbolIdentifier=isESSymbolIdentifier;function isModifierKind(e){switch(e){case 115:case 118:case 74:case 122:case 77:case 82:case 112:case 110:case 111:case 128:case 113:return true}return false}e.isModifierKind=isModifierKind;function isParameterDeclaration(e){var t=getRootDeclaration(e);return 142===t.kind}e.isParameterDeclaration=isParameterDeclaration;function getRootDeclaration(e){while(169===e.kind)e=e.parent.parent;return e}e.getRootDeclaration=getRootDeclaration;function nodeStartsNewLexicalEnvironment(e){return isFunctionLike(e)||225===e.kind||256===e.kind}e.nodeStartsNewLexicalEnvironment=nodeStartsNewLexicalEnvironment;function cloneNode(t,r,n,a){var i=void 0!==r?e.createNode(t.kind,r.pos,r.end):createSynthesizedNode(t.kind);for(var o in t)!i.hasOwnProperty(o)&&t.hasOwnProperty(o)&&(i[o]=t[o]);void 0!==n&&(i.flags=n);void 0!==a&&(i.parent=a);return i}e.cloneNode=cloneNode;function cloneEntityName(e,t){var r=cloneNode(e,e,e.flags,t);if(isQualifiedName(r)){var n=r.left,a=r.right;r.left=cloneEntityName(n,r);r.right=cloneNode(a,a,a.flags,t)}return r}e.cloneEntityName=cloneEntityName;function isQualifiedName(e){return 139===e.kind}e.isQualifiedName=isQualifiedName;function nodeIsSynthesized(e){return-1===e.pos}e.nodeIsSynthesized=nodeIsSynthesized;function createSynthesizedNode(t,r){var n=e.createNode(t,-1,-1);n.startsOnNewLine=r;return n}e.createSynthesizedNode=createSynthesizedNode;function createSynthesizedNodeArray(){var e=[];e.pos=-1;e.end=-1;return e}e.createSynthesizedNodeArray=createSynthesizedNodeArray;function createDiagnosticCollection(){var t=[];var r={};var n=false;var a=0;return{add:add,getGlobalDiagnostics:getGlobalDiagnostics,getDiagnostics:getDiagnostics,getModificationCount:getModificationCount,reattachFileDiagnostics:reattachFileDiagnostics};function getModificationCount(){return a}function reattachFileDiagnostics(t){if(e.hasProperty(r,t.fileName))for(var n=0,a=r[t.fileName];n1){i=i+n.length-1;o=r.length-t.length+e.lastOrUndefined(n)}}}function writeLine(){if(!a){r+=t;i++;o=r.length;a=true}}function writeTextOfNode(e,t){write(getTextOfNodeFromSourceText(e,t))}reset();return{write:write,rawWrite:rawWrite,writeTextOfNode:writeTextOfNode,writeLiteral:writeLiteral,writeLine:writeLine,increaseIndent:function(){n++},decreaseIndent:function(){n--},getIndent:function(){return n},getTextPos:function(){return r.length},getLine:function(){return i+1},getColumn:function(){return a?n*getIndentSize()+1:r.length-o+1},getText:function(){return r},reset:reset}}e.createTextWriter=createTextWriter;function getExternalModuleNameFromPath(t,r){var getCanonicalFileName=function(e){return t.getCanonicalFileName(e)};var n=e.toPath(t.getCommonSourceDirectory(),t.getCurrentDirectory(),getCanonicalFileName);var a=e.getNormalizedAbsolutePath(r,t.getCurrentDirectory());var i=e.getRelativePathToDirectoryOrUrl(n,a,n,getCanonicalFileName,false);return e.removeFileExtension(i)}e.getExternalModuleNameFromPath=getExternalModuleNameFromPath;function getOwnEmitOutputFilePath(t,r,n){var a=r.getCompilerOptions();var i;i=a.outDir?e.removeFileExtension(getSourceFilePathInNewDir(t,r,a.outDir)):e.removeFileExtension(t.fileName);return i+n}e.getOwnEmitOutputFilePath=getOwnEmitOutputFilePath;function getDeclarationEmitOutputFilePath(t,r){var n=r.getCompilerOptions();var a=n.declarationDir||n.outDir;if(n.declaration){var i=a?getSourceFilePathInNewDir(t,r,a):t.fileName;return e.removeFileExtension(i)+".d.ts"}}e.getDeclarationEmitOutputFilePath=getDeclarationEmitOutputFilePath;function getEmitScriptTarget(e){return e.target||0}e.getEmitScriptTarget=getEmitScriptTarget;function getEmitModuleKind(t){return"number"===typeof t.module?t.module:2===getEmitScriptTarget(t)?e.ModuleKind.ES6:e.ModuleKind.CommonJS}e.getEmitModuleKind=getEmitModuleKind;function forEachExpectedEmitFile(t,r,n){var a=t.getCompilerOptions();if(a.outFile||a.out)onBundledEmit(t);else{var i=void 0===n?t.getSourceFiles():[n];for(var o=0,s=i;o0){var t=2===e.parameters.length&&69===e.parameters[0].name.kind&&97===e.parameters[0].name.originalKeywordKind;return e.parameters[t?1:0].type}}e.getSetAccessorTypeAnnotationNode=getSetAccessorTypeAnnotationNode;function getAllAccessorDeclarations(t,r){var n;var a;var i;var o;if(hasDynamicName(r)){n=r;149===r.kind?i=r:150===r.kind?o=r:e.Debug.fail("Accessor has wrong kind")}else e.forEach(t,(function(e){if((149===e.kind||150===e.kind)&&(32&e.flags)===(32&r.flags)){var t=getPropertyNameForPropertyNameNode(e.name);var s=getPropertyNameForPropertyNameNode(r.name);if(t===s){n?a||(a=e):n=e;149!==e.kind||i||(i=e);150!==e.kind||o||(o=e)}}}));return{firstAccessor:n,secondAccessor:a,getAccessor:i,setAccessor:o}}e.getAllAccessorDeclarations=getAllAccessorDeclarations;function emitNewLineBeforeLeadingComments(e,t,r,n){n&&n.length&&r.pos!==n[0].pos&&getLineOfLocalPositionFromLineMap(e,r.pos)!==getLineOfLocalPositionFromLineMap(e,n[0].pos)&&t.writeLine()}e.emitNewLineBeforeLeadingComments=emitNewLineBeforeLeadingComments;function emitComments(t,r,n,a,i,o,s){var c=!i;e.forEach(a,(function(e){if(c){n.write(" ");c=false}s(t,r,n,e,o);e.hasTrailingNewLine?n.writeLine():i?n.write(" "):c=true}))}e.emitComments=emitComments;function emitDetachedComments(t,r,n,a,i,o,s){var c;var l;s?0===i.pos&&(c=e.filter(e.getLeadingCommentRanges(t,i.pos),isPinnedComment)):c=e.getLeadingCommentRanges(t,i.pos);if(c){var u=[];var _=void 0;for(var d=0,p=c;d=g+2)break}u.push(m);_=m}if(u.length){var g=getLineOfLocalPositionFromLineMap(r,e.lastOrUndefined(u).end);var y=getLineOfLocalPositionFromLineMap(r,e.skipTrivia(t,i.pos));if(y>=g+2){emitNewLineBeforeLeadingComments(r,n,i,c);emitComments(t,r,n,u,true,o,a);l={nodePos:i.pos,detachedCommentEndPos:e.lastOrUndefined(u).end}}}}return l;function isPinnedComment(e){return 42===t.charCodeAt(e.pos+1)&&33===t.charCodeAt(e.pos+2)}}e.emitDetachedComments=emitDetachedComments;function writeCommentRange(t,r,n,a,i){if(42===t.charCodeAt(a.pos+1)){var o=e.computeLineAndCharacterOfPosition(r,a.pos);var s=r.length;var c=void 0;for(var l=a.pos,u=o.line;l0){var m=p%getIndentSize();var g=getIndentString((p-m)/getIndentSize());n.rawWrite(g);while(m){n.rawWrite(" ");m--}}else n.rawWrite("")}writeTrimmedCurrentLine(t,a,n,i,l,_);l=_}}else n.write(t.substring(a.pos,a.end))}e.writeCommentRange=writeCommentRange;function writeTrimmedCurrentLine(e,t,r,n,a,i){var o=Math.min(t.end,i-1);var s=e.substring(a,o).replace(/^\s+|\s+$/g,"");if(s){r.write(s);o!==t.end&&r.writeLine()}else r.writeLiteral(n)}function calculateIndent(t,r,n){var a=0;for(;r=56&&e<=68}e.isAssignmentOperator=isAssignmentOperator;function isExpressionWithTypeArgumentsInClassExtendsClause(e){return 194===e.kind&&83===e.parent.token&&isClassLike(e.parent.parent)}e.isExpressionWithTypeArgumentsInClassExtendsClause=isExpressionWithTypeArgumentsInClassExtendsClause;function isSupportedExpressionWithTypeArguments(e){return isSupportedExpressionWithTypeArgumentsRest(e.expression)}e.isSupportedExpressionWithTypeArguments=isSupportedExpressionWithTypeArguments;function isSupportedExpressionWithTypeArgumentsRest(e){return 69===e.kind||!!isPropertyAccessExpression(e)&&isSupportedExpressionWithTypeArgumentsRest(e.expression)}function isRightSideOfQualifiedNameOrPropertyAccess(e){return 139===e.parent.kind&&e.parent.right===e||172===e.parent.kind&&e.parent.name===e}e.isRightSideOfQualifiedNameOrPropertyAccess=isRightSideOfQualifiedNameOrPropertyAccess;function isEmptyObjectLiteralOrArrayLiteral(e){var t=e.kind;return 171===t?0===e.properties.length:170===t&&0===e.elements.length}e.isEmptyObjectLiteralOrArrayLiteral=isEmptyObjectLiteralOrArrayLiteral;function getLocalSymbolForExportDefault(e){return e&&e.valueDeclaration&&512&e.valueDeclaration.flags?e.valueDeclaration.localSymbol:void 0}e.getLocalSymbolForExportDefault=getLocalSymbolForExportDefault;function hasJavaScriptFileExtension(t){return e.forEach(e.supportedJavascriptExtensions,(function(r){return e.fileExtensionIs(t,r)}))}e.hasJavaScriptFileExtension=hasJavaScriptFileExtension;function hasTypeScriptFileExtension(t){return e.forEach(e.supportedTypeScriptExtensions,(function(r){return e.fileExtensionIs(t,r)}))}e.hasTypeScriptFileExtension=hasTypeScriptFileExtension;function getExpandedCharCodes(t){var r=[];var n=t.length;for(var a=0;a>6|192);r.push(63&i|128)}else if(i<65536){r.push(i>>12|224);r.push(i>>6&63|128);r.push(63&i|128)}else if(i<131072){r.push(i>>18|240);r.push(i>>12&63|128);r.push(i>>6&63|128);r.push(63&i|128)}else e.Debug.assert(false,"Unexpected code point")}return r}e.stringify="undefined"!==typeof JSON&&JSON.stringify?JSON.stringify:stringifyFallback;function stringifyFallback(e){return void 0===e?void 0:stringifyValue(e)}function stringifyValue(t){return"string"===typeof t?'"'+escapeString(t)+'"':"number"===typeof t?isFinite(t)?String(t):"null":"boolean"===typeof t?t?"true":"false":"object"===typeof t&&t?e.isArray(t)?cycleCheck(stringifyArray,t):cycleCheck(stringifyObject,t):"null"}function cycleCheck(t,r){e.Debug.assert(!r.hasOwnProperty("__cycle"),"Converting circular structure to JSON");r.__cycle=true;var n=t(r);delete r.__cycle;return n}function stringifyArray(t){return"["+e.reduceLeft(t,stringifyElement,"")+"]"}function stringifyElement(e,t){return(e?e+",":e)+stringifyValue(t)}function stringifyObject(t){return"{"+e.reduceProperties(t,stringifyProperty,"")+"}"}function stringifyProperty(e,t,r){return void 0===t||"function"===typeof t||"__cycle"===r?e:(e?e+",":e)+'"'+escapeString(r)+'":'+stringifyValue(t)}var o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function convertToBase64(e){var t="";var r=getExpandedCharCodes(e);var n=0;var a=r.length;var i,s,c,l;while(n>2;s=(3&r[n])<<4|r[n+1]>>4;c=(15&r[n+1])<<2|r[n+2]>>6;l=63&r[n+2];n+1>=a?c=l=64:n+2>=a&&(l=64);t+=o.charAt(i)+o.charAt(s)+o.charAt(c)+o.charAt(l);n+=3}return t}e.convertToBase64=convertToBase64;function convertToRelativePath(t,r,n){return e.isRootedDiskPath(t)?e.getRelativePathToDirectoryOrUrl(r,t,r,n,false):t}e.convertToRelativePath=convertToRelativePath;var s="\r\n";var c="\n";function getNewLineCharacter(t){return 0===t.newLine?s:1===t.newLine?c:e.sys?e.sys.newLine:s}e.getNewLineCharacter=getNewLineCharacter;function isWatchSet(e){return e.watch&&e.hasOwnProperty("watch")}e.isWatchSet=isWatchSet})(l||(l={}));var l;(function(e){function getDefaultLibFileName(e){return 2===e.target?"lib.es6.d.ts":"lib.d.ts"}e.getDefaultLibFileName=getDefaultLibFileName;function textSpanEnd(e){return e.start+e.length}e.textSpanEnd=textSpanEnd;function textSpanIsEmpty(e){return 0===e.length}e.textSpanIsEmpty=textSpanIsEmpty;function textSpanContainsPosition(e,t){return t>=e.start&&t=e.start&&textSpanEnd(t)<=textSpanEnd(e)}e.textSpanContainsTextSpan=textSpanContainsTextSpan;function textSpanOverlapsWith(e,t){var r=Math.max(e.start,t.start);var n=Math.min(textSpanEnd(e),textSpanEnd(t));return r=e.start}e.textSpanIntersectsWithTextSpan=textSpanIntersectsWithTextSpan;function textSpanIntersectsWith(e,t,r){var n=t+r;return t<=textSpanEnd(e)&&n>=e.start}e.textSpanIntersectsWith=textSpanIntersectsWith;function decodedTextSpanIntersectsWith(e,t,r,n){var a=e+t;var i=r+n;return r<=a&&i>=e}e.decodedTextSpanIntersectsWith=decodedTextSpanIntersectsWith;function textSpanIntersectsWithPosition(e,t){return t<=textSpanEnd(e)&&t>=e.start}e.textSpanIntersectsWithPosition=textSpanIntersectsWithPosition;function textSpanIntersection(e,t){var r=Math.max(e.start,t.start);var n=Math.min(textSpanEnd(e),textSpanEnd(t));if(r<=n)return createTextSpanFromBounds(r,n)}e.textSpanIntersection=textSpanIntersection;function createTextSpan(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}e.createTextSpan=createTextSpan;function createTextSpanFromBounds(e,t){return createTextSpan(e,t-e)}e.createTextSpanFromBounds=createTextSpanFromBounds;function textChangeRangeNewSpan(e){return createTextSpan(e.span.start,e.newLength)}e.textChangeRangeNewSpan=textChangeRangeNewSpan;function textChangeRangeIsUnchanged(e){return textSpanIsEmpty(e.span)&&0===e.newLength}e.textChangeRangeIsUnchanged=textChangeRangeIsUnchanged;function createTextChangeRange(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}e.createTextChangeRange=createTextChangeRange;e.unchangedTextChangeRange=createTextChangeRange(createTextSpan(0,0),0);function collapseTextChangeRangesAcrossMultipleVersions(t){if(0===t.length)return e.unchangedTextChangeRange;if(1===t.length)return t[0];var r=t[0];var n=r.span.start;var a=textSpanEnd(r.span);var i=n+r.newLength;for(var o=1;o105)}function parseExpected(t,r,n){void 0===n&&(n=true);if(l===t){n&&nextToken();return true}r?parseErrorAtCurrentToken(r):parseErrorAtCurrentToken(e.Diagnostics._0_expected,e.tokenToString(t));return false}function parseOptional(e){if(l===e){nextToken();return true}return false}function parseOptionalToken(e){if(l===e)return parseTokenNode()}function parseExpectedToken(e,t,r,n){return parseOptionalToken(e)||createMissingNode(e,t,r,n)}function parseTokenNode(){var e=createNode(l);nextToken();return finishNode(e)}function canParseSemicolon(){return 23===l||(16===l||1===l||r.hasPrecedingLineBreak())}function parseSemicolon(){if(canParseSemicolon()){23===l&&nextToken();return true}return parseExpected(23)}function createNode(e,t){_++;t>=0||(t=r.getStartPos());return new a(e,t,t)}function finishNode(e,t){e.end=void 0===t?r.getStartPos():t;g&&(e.flags|=g);if(f){f=false;e.flags|=67108864}return e}function createMissingNode(e,t,n,a){t?parseErrorAtPosition(r.getStartPos(),0,n,a):parseErrorAtCurrentToken(n,a);var i=createNode(e,r.getStartPos());i.text="";return finishNode(i)}function internIdentifier(t){t=e.escapeIdentifier(t);return e.hasProperty(d,t)?d[t]:d[t]=t}function createIdentifier(t,n){p++;if(t){var a=createNode(69);69!==l&&(a.originalKeywordKind=l);a.text=internIdentifier(r.getTokenValue());nextToken();return finishNode(a)}return createMissingNode(69,false,n||e.Diagnostics.Identifier_expected)}function parseIdentifier(e){return createIdentifier(isIdentifier(),e)}function parseIdentifierName(){return createIdentifier(e.tokenIsIdentifierOrKeyword(l))}function isLiteralPropertyName(){return e.tokenIsIdentifierOrKeyword(l)||9===l||8===l}function parsePropertyNameWorker(e){return 9===l||8===l?parseLiteralNode(true):e&&19===l?parseComputedPropertyName():parseIdentifierName()}function parsePropertyName(){return parsePropertyNameWorker(true)}function parseSimplePropertyName(){return parsePropertyNameWorker(false)}function isSimplePropertyName(){return 9===l||8===l||e.tokenIsIdentifierOrKeyword(l)}function parseComputedPropertyName(){var e=createNode(140);parseExpected(19);e.expression=allowInAnd(parseExpression);parseExpected(20);return finishNode(e)}function parseContextualModifier(e){return l===e&&tryParse(nextTokenCanFollowModifier)}function nextTokenIsOnSameLineAndCanFollowModifier(){nextToken();return!r.hasPrecedingLineBreak()&&canFollowModifier()}function nextTokenCanFollowModifier(){if(74===l)return 81===nextToken();if(82===l){nextToken();return 77===l?lookAhead(nextTokenIsClassOrFunctionOrAsync):37!==l&&116!==l&&15!==l&&canFollowModifier()}if(77===l)return nextTokenIsClassOrFunctionOrAsync();if(113===l){nextToken();return canFollowModifier()}return nextTokenIsOnSameLineAndCanFollowModifier()}function parseAnyContextualModifier(){return e.isModifierKind(l)&&tryParse(nextTokenCanFollowModifier)}function canFollowModifier(){return 19===l||15===l||37===l||22===l||isLiteralPropertyName()}function nextTokenIsClassOrFunctionOrAsync(){nextToken();return 73===l||87===l||118===l&&lookAhead(nextTokenIsFunctionKeywordOnSameLine)}function isListElement(t,r){var n=currentNode(t);if(n)return true;switch(t){case 0:case 1:case 3:return!(23===l&&r)&&isStartOfStatement();case 2:return 71===l||77===l;case 4:return lookAhead(isTypeMemberStart);case 5:return lookAhead(isClassMemberStart)||23===l&&!r;case 6:return 19===l||isLiteralPropertyName();case 12:return 19===l||37===l||isLiteralPropertyName();case 9:return 19===l||isLiteralPropertyName();case 7:return 15===l?lookAhead(isValidHeritageClauseObjectLiteral):r?isIdentifier()&&!isHeritageClauseExtendsOrImplementsKeyword():isStartOfLeftHandSideExpression()&&!isHeritageClauseExtendsOrImplementsKeyword();case 8:return isIdentifierOrPattern();case 10:return 24===l||22===l||isIdentifierOrPattern();case 17:return isIdentifier();case 11:case 15:return 24===l||22===l||isStartOfExpression();case 16:return isStartOfParameter();case 18:case 19:return 24===l||isStartOfType();case 20:return isHeritageClause();case 21:return e.tokenIsIdentifierOrKeyword(l);case 13:return e.tokenIsIdentifierOrKeyword(l)||15===l;case 14:return true;case 22:case 23:case 25:return v.isJSDocType();case 24:return isSimplePropertyName()}e.Debug.fail("Non-exhaustive case in 'isListElement'.")}function isValidHeritageClauseObjectLiteral(){e.Debug.assert(15===l);if(16===nextToken()){var t=nextToken();return 24===t||15===t||83===t||106===t}return true}function nextTokenIsIdentifier(){nextToken();return isIdentifier()}function nextTokenIsIdentifierOrKeyword(){nextToken();return e.tokenIsIdentifierOrKeyword(l)}function isHeritageClauseExtendsOrImplementsKeyword(){return(106===l||83===l)&&lookAhead(nextTokenIsStartOfExpression)}function nextTokenIsStartOfExpression(){nextToken();return isStartOfExpression()}function isListTerminator(e){if(1===l)return true;switch(e){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 21:return 16===l;case 3:return 16===l||71===l||77===l;case 7:return 15===l||83===l||106===l;case 8:return isVariableDeclaratorListTerminator();case 17:return 27===l||17===l||15===l||83===l||106===l;case 11:return 18===l||23===l;case 15:case 19:case 10:return 20===l;case 16:return 18===l||20===l;case 18:return 27===l||17===l;case 20:return 15===l||16===l;case 13:return 27===l||39===l;case 14:return 25===l&&lookAhead(nextTokenIsSlash);case 22:return 18===l||54===l||16===l;case 23:return 27===l||16===l;case 25:return 20===l||16===l;case 24:return 16===l}}function isVariableDeclaratorListTerminator(){return!!canParseSemicolon()||(!!isInOrOfKeyword(l)||34===l)}function isInSomeParsingContext(){for(var e=0;e<26;e++)if(m&1<=0&&(i.hasTrailingComma=true);i.end=getNodeEnd();m=a;return i}function createMissingList(){var e=getNodePos();var t=[];t.pos=e;t.end=e;return t}function parseBracketedList(e,t,r,n){if(parseExpected(r)){var a=parseDelimitedList(e,t);parseExpected(n);return a}return createMissingList()}function parseEntityName(e,t){var r=parseIdentifier(t);while(parseOptional(21)){var n=createNode(139,r.pos);n.left=r;n.right=parseRightSideOfDot(e);r=finishNode(n)}return r}function parseRightSideOfDot(t){if(r.hasPrecedingLineBreak()&&e.tokenIsIdentifierOrKeyword(l)){var n=lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);if(n)return createMissingNode(69,true,e.Diagnostics.Identifier_expected)}return t?parseIdentifierName():parseIdentifier()}function parseTemplateExpression(){var t=createNode(189);t.head=parseTemplateLiteralFragment();e.Debug.assert(12===t.head.kind,"Template head has wrong token kind");var r=[];r.pos=getNodePos();do{r.push(parseTemplateSpan())}while(13===e.lastOrUndefined(r).literal.kind);r.end=getNodeEnd();t.templateSpans=r;return finishNode(t)}function parseTemplateSpan(){var t=createNode(197);t.expression=allowInAnd(parseExpression);var r;if(16===l){reScanTemplateToken();r=parseTemplateLiteralFragment()}else r=parseExpectedToken(14,false,e.Diagnostics._0_expected,e.tokenToString(16));t.literal=r;return finishNode(t)}function parseStringLiteralTypeNode(){return parseLiteralLikeNode(166,true)}function parseLiteralNode(e){return parseLiteralLikeNode(l,e)}function parseTemplateLiteralFragment(){return parseLiteralLikeNode(l,false)}function parseLiteralLikeNode(t,n){var a=createNode(t);var i=r.getTokenValue();a.text=n?internIdentifier(i):i;r.hasExtendedUnicodeEscape()&&(a.hasExtendedUnicodeEscape=true);r.isUnterminated()&&(a.isUnterminated=true);var o=r.getTokenPos();nextToken();finishNode(a);8===a.kind&&48===u.charCodeAt(o)&&e.isOctalDigit(u.charCodeAt(o+1))&&(a.isOctalLiteral=true);return a}function parseTypeReference(){var t=parseEntityName(false,e.Diagnostics.Type_expected);var n=createNode(155,t.pos);n.typeName=t;r.hasPrecedingLineBreak()||25!==l||(n.typeArguments=parseBracketedList(18,parseType,25,27));return finishNode(n)}function parseThisTypePredicate(e){nextToken();var t=createNode(154,e.pos);t.parameterName=e;t.type=parseType();return finishNode(t)}function parseThisTypeNode(){var e=createNode(165);nextToken();return finishNode(e)}function parseTypeQuery(){var e=createNode(158);parseExpected(101);e.exprName=parseEntityName(true);return finishNode(e)}function parseTypeParameter(){var e=createNode(141);e.name=parseIdentifier();parseOptional(83)&&(isStartOfType()||!isStartOfExpression()?e.constraint=parseType():e.expression=parseUnaryExpressionOrHigher());return finishNode(e)}function parseTypeParameters(){if(25===l)return parseBracketedList(17,parseTypeParameter,25,27)}function parseParameterType(){if(parseOptional(54))return parseType()}function isStartOfParameter(){return 22===l||isIdentifierOrPattern()||e.isModifierKind(l)||55===l||97===l}function setModifiers(e,t){if(t){e.flags|=t.flags;e.modifiers=t}}function parseParameter(){var t=createNode(142);if(97===l){t.name=createIdentifier(true,void 0);t.type=parseParameterType();return finishNode(t)}t.decorators=parseDecorators();setModifiers(t,parseModifiers());t.dotDotDotToken=parseOptionalToken(22);t.name=parseIdentifierOrPattern();0===e.getFullWidth(t.name)&&0===t.flags&&e.isModifierKind(l)&&nextToken();t.questionToken=parseOptionalToken(53);t.type=parseParameterType();t.initializer=parseBindingElementInitializer(true);return addJSDocComment(finishNode(t))}function parseBindingElementInitializer(e){return e?parseParameterInitializer():parseNonParameterInitializer()}function parseParameterInitializer(){return parseInitializer(true)}function fillSignature(e,t,r,n,a){var i=34===e;a.typeParameters=parseTypeParameters();a.parameters=parseParameterList(t,r,n);if(i){parseExpected(e);a.type=parseTypeOrTypePredicate()}else parseOptional(e)&&(a.type=parseTypeOrTypePredicate())}function parseParameterList(e,t,r){if(parseExpected(17)){var n=inYieldContext();var a=inAwaitContext();setYieldContext(e);setAwaitContext(t);var i=parseDelimitedList(16,parseParameter);setYieldContext(n);setAwaitContext(a);if(!parseExpected(18)&&r)return;return i}return r?void 0:createMissingList()}function parseTypeMemberSemicolon(){parseOptional(24)||parseSemicolon()}function parseSignatureMember(e){var t=createNode(e);152===e&&parseExpected(92);fillSignature(54,false,false,false,t);parseTypeMemberSemicolon();return finishNode(t)}function isIndexSignature(){return 19===l&&lookAhead(isUnambiguouslyIndexSignature)}function isUnambiguouslyIndexSignature(){nextToken();if(22===l||20===l)return true;if(e.isModifierKind(l)){nextToken();if(isIdentifier())return true}else{if(!isIdentifier())return false;nextToken()}if(54===l||24===l)return true;if(53!==l)return false;nextToken();return 54===l||24===l||20===l}function parseIndexSignatureDeclaration(e,t,r){var n=createNode(153,e);n.decorators=t;setModifiers(n,r);n.parameters=parseBracketedList(16,parseParameter,19,20);n.type=parseTypeAnnotation();parseTypeMemberSemicolon();return finishNode(n)}function parsePropertyOrMethodSignature(e,t){var r=parsePropertyName();var n=parseOptionalToken(53);if(17===l||25===l){var a=createNode(146,e);setModifiers(a,t);a.name=r;a.questionToken=n;fillSignature(54,false,false,false,a);parseTypeMemberSemicolon();return finishNode(a)}var i=createNode(144,e);setModifiers(i,t);i.name=r;i.questionToken=n;i.type=parseTypeAnnotation();56===l&&(i.initializer=parseNonParameterInitializer());parseTypeMemberSemicolon();return finishNode(i)}function isTypeMemberStart(){var t;if(17===l||25===l)return true;while(e.isModifierKind(l)){t=l;nextToken()}if(19===l)return true;if(isLiteralPropertyName()){t=l;nextToken()}return!!t&&(17===l||25===l||53===l||54===l||canParseSemicolon())}function parseTypeMember(){if(17===l||25===l)return parseSignatureMember(151);if(92===l&&lookAhead(isStartOfConstructSignature))return parseSignatureMember(152);var e=getNodePos();var t=parseModifiers();return isIndexSignature()?parseIndexSignatureDeclaration(e,void 0,t):parsePropertyOrMethodSignature(e,t)}function isStartOfConstructSignature(){nextToken();return 17===l||25===l}function parseTypeLiteral(){var e=createNode(159);e.members=parseObjectTypeMembers();return finishNode(e)}function parseObjectTypeMembers(){var e;if(parseExpected(15)){e=parseList(4,parseTypeMember);parseExpected(16)}else e=createMissingList();return e}function parseTupleType(){var e=createNode(161);e.elementTypes=parseBracketedList(19,parseType,19,20);return finishNode(e)}function parseParenthesizedType(){var e=createNode(164);parseExpected(17);e.type=parseType();parseExpected(18);return finishNode(e)}function parseFunctionOrConstructorType(e){var t=createNode(e);157===e&&parseExpected(92);fillSignature(34,false,false,false,t);return finishNode(t)}function parseKeywordAndNoDot(){var e=parseTokenNode();return 21===l?void 0:e}function parseNonArrayType(){switch(l){case 117:case 132:case 130:case 120:case 133:case 135:case 127:var e=tryParse(parseKeywordAndNoDot);return e||parseTypeReference();case 9:return parseStringLiteralTypeNode();case 103:case 93:return parseTokenNode();case 97:var t=parseThisTypeNode();return 124!==l||r.hasPrecedingLineBreak()?t:parseThisTypePredicate(t);case 101:return parseTypeQuery();case 15:return parseTypeLiteral();case 19:return parseTupleType();case 17:return parseParenthesizedType();default:return parseTypeReference()}}function isStartOfType(){switch(l){case 117:case 132:case 130:case 120:case 133:case 103:case 135:case 93:case 97:case 101:case 127:case 15:case 19:case 25:case 92:case 9:return true;case 17:return lookAhead(isStartOfParenthesizedOrFunctionType);default:return isIdentifier()}}function isStartOfParenthesizedOrFunctionType(){nextToken();return 18===l||isStartOfParameter()||isStartOfType()}function parseArrayTypeOrHigher(){var e=parseNonArrayType();while(!r.hasPrecedingLineBreak()&&parseOptional(19)){parseExpected(20);var t=createNode(160,e.pos);t.elementType=e;e=finishNode(t)}return e}function parseUnionOrIntersectionType(e,t,r){var n=t();if(l===r){var a=[n];a.pos=n.pos;while(parseOptional(r))a.push(t());a.end=getNodeEnd();var i=createNode(e,n.pos);i.types=a;n=finishNode(i)}return n}function parseIntersectionTypeOrHigher(){return parseUnionOrIntersectionType(163,parseArrayTypeOrHigher,46)}function parseUnionTypeOrHigher(){return parseUnionOrIntersectionType(162,parseIntersectionTypeOrHigher,47)}function isStartOfFunctionType(){return 25===l||17===l&&lookAhead(isUnambiguouslyStartOfFunctionType)}function skipParameterStart(){e.isModifierKind(l)&&parseModifiers();if(isIdentifier()||97===l){nextToken();return true}if(19===l||15===l){var t=s.length;parseIdentifierOrPattern();return t===s.length}return false}function isUnambiguouslyStartOfFunctionType(){nextToken();if(18===l||22===l)return true;if(skipParameterStart()){if(54===l||24===l||53===l||56===l)return true;if(18===l){nextToken();if(34===l)return true}}return false}function parseTypeOrTypePredicate(){var e=isIdentifier()&&tryParse(parseTypePredicatePrefix);var t=parseType();if(e){var r=createNode(154,e.pos);r.parameterName=e;r.type=t;return finishNode(r)}return t}function parseTypePredicatePrefix(){var e=parseIdentifier();if(124===l&&!r.hasPrecedingLineBreak()){nextToken();return e}}function parseType(){return doOutsideOfContext(41943040,parseTypeWorker)}function parseTypeWorker(){return isStartOfFunctionType()?parseFunctionOrConstructorType(156):92===l?parseFunctionOrConstructorType(157):parseUnionTypeOrHigher()}function parseTypeAnnotation(){return parseOptional(54)?parseType():void 0}function isStartOfLeftHandSideExpression(){switch(l){case 97:case 95:case 93:case 99:case 84:case 8:case 9:case 11:case 12:case 17:case 19:case 15:case 87:case 73:case 92:case 39:case 61:case 69:return true;default:return isIdentifier()}}function isStartOfExpression(){if(isStartOfLeftHandSideExpression())return true;switch(l){case 35:case 36:case 50:case 49:case 78:case 101:case 103:case 41:case 42:case 25:case 119:case 114:return true;default:return!!isBinaryOperator()||isIdentifier()}}function isStartOfExpressionStatement(){return 15!==l&&87!==l&&73!==l&&55!==l&&isStartOfExpression()}function parseExpression(){var e=inDecoratorContext();e&&setDecoratorContext(false);var t=parseAssignmentExpressionOrHigher();var r;while(r=parseOptionalToken(24))t=makeBinaryExpression(t,r,parseAssignmentExpressionOrHigher());e&&setDecoratorContext(true);return t}function parseInitializer(e){if(56===l||!(r.hasPrecedingLineBreak()||e&&15===l)&&isStartOfExpression()){parseExpected(56);return parseAssignmentExpressionOrHigher()}}function parseAssignmentExpressionOrHigher(){if(isYieldExpression())return parseYieldExpression();var t=tryParseParenthesizedArrowFunctionExpression()||tryParseAsyncSimpleArrowFunctionExpression();if(t)return t;var r=parseBinaryExpressionOrHigher(0);return 69===r.kind&&34===l?parseSimpleArrowFunctionExpression(r):e.isLeftHandSideExpression(r)&&e.isAssignmentOperator(reScanGreaterToken())?makeBinaryExpression(r,parseTokenNode(),parseAssignmentExpressionOrHigher()):parseConditionalExpressionRest(r)}function isYieldExpression(){return 114===l&&(!!inYieldContext()||lookAhead(nextTokenIsIdentifierOrKeywordOrNumberOnSameLine))}function nextTokenIsIdentifierOnSameLine(){nextToken();return!r.hasPrecedingLineBreak()&&isIdentifier()}function parseYieldExpression(){var e=createNode(190);nextToken();if(r.hasPrecedingLineBreak()||37!==l&&!isStartOfExpression())return finishNode(e);e.asteriskToken=parseOptionalToken(37);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}function parseSimpleArrowFunctionExpression(t,r){e.Debug.assert(34===l,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");var n;if(r){n=createNode(180,r.pos);setModifiers(n,r)}else n=createNode(180,t.pos);var a=createNode(142,t.pos);a.name=t;finishNode(a);n.parameters=[a];n.parameters.pos=a.pos;n.parameters.end=a.end;n.equalsGreaterThanToken=parseExpectedToken(34,false,e.Diagnostics._0_expected,"=>");n.body=parseArrowFunctionExpressionBody(!!r);return finishNode(n)}function tryParseParenthesizedArrowFunctionExpression(){var t=isParenthesizedArrowFunctionExpression();if(0!==t){var r=1===t?parseParenthesizedArrowFunctionExpressionHead(true):tryParse(parsePossibleParenthesizedArrowFunctionExpressionHead);if(r){var n=!!(256&r.flags);var a=l;r.equalsGreaterThanToken=parseExpectedToken(34,false,e.Diagnostics._0_expected,"=>");r.body=34===a||15===a?parseArrowFunctionExpressionBody(n):parseIdentifier();return finishNode(r)}}}function isParenthesizedArrowFunctionExpression(){return 17===l||25===l||118===l?lookAhead(isParenthesizedArrowFunctionExpressionWorker):34===l?1:0}function isParenthesizedArrowFunctionExpressionWorker(){if(118===l){nextToken();if(r.hasPrecedingLineBreak())return 0;if(17!==l&&25!==l)return 0}var t=l;var n=nextToken();if(17===t){if(18===n){var a=nextToken();switch(a){case 34:case 54:case 15:return 1;default:return 0}}return 19===n||15===n?2:22===n?1:isIdentifier()?54===nextToken()?1:2:0}e.Debug.assert(25===t);if(!isIdentifier())return 0;if(1===o.languageVariant){var i=lookAhead((function(){var e=nextToken();if(83===e){var t=nextToken();switch(t){case 56:case 27:return false;default:return true}}else if(24===e)return true;return false}));return i?1:0}return 2}function parsePossibleParenthesizedArrowFunctionExpressionHead(){return parseParenthesizedArrowFunctionExpressionHead(false)}function tryParseAsyncSimpleArrowFunctionExpression(){if(118===l){var e=lookAhead(isUnParenthesizedAsyncArrowFunctionWorker);if(1===e){var t=parseModifiersForArrowFunction();var r=parseBinaryExpressionOrHigher(0);return parseSimpleArrowFunctionExpression(r,t)}}}function isUnParenthesizedAsyncArrowFunctionWorker(){if(118===l){nextToken();if(r.hasPrecedingLineBreak()||34===l)return 0;var e=parseBinaryExpressionOrHigher(0);if(!r.hasPrecedingLineBreak()&&69===e.kind&&34===l)return 1}return 0}function parseParenthesizedArrowFunctionExpressionHead(e){var t=createNode(180);setModifiers(t,parseModifiersForArrowFunction());var r=!!(256&t.flags);fillSignature(54,false,r,!e,t);if(t.parameters&&(e||34===l||15===l))return t}function parseArrowFunctionExpressionBody(e){return 15===l?parseFunctionBlock(false,e,false):23!==l&&87!==l&&73!==l&&isStartOfStatement()&&!isStartOfExpressionStatement()?parseFunctionBlock(false,e,true):e?doInAwaitContext(parseAssignmentExpressionOrHigher):doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher)}function parseConditionalExpressionRest(t){var r=parseOptionalToken(53);if(!r)return t;var a=createNode(188,t.pos);a.condition=t;a.questionToken=r;a.whenTrue=doOutsideOfContext(n,parseAssignmentExpressionOrHigher);a.colonToken=parseExpectedToken(54,false,e.Diagnostics._0_expected,e.tokenToString(54));a.whenFalse=parseAssignmentExpressionOrHigher();return finishNode(a)}function parseBinaryExpressionOrHigher(e){var t=parseUnaryExpressionOrHigher();return parseBinaryExpressionRest(e,t)}function isInOrOfKeyword(e){return 90===e||138===e}function parseBinaryExpressionRest(e,t){while(true){reScanGreaterToken();var n=getBinaryOperatorPrecedence();var a=38===l?n>=e:n>e;if(!a)break;if(90===l&&inDisallowInContext())break;if(116===l){if(r.hasPrecedingLineBreak())break;nextToken();t=makeAsExpression(t,parseType())}else t=makeBinaryExpression(t,parseTokenNode(),parseBinaryExpressionOrHigher(n))}return t}function isBinaryOperator(){return(!inDisallowInContext()||90!==l)&&getBinaryOperatorPrecedence()>0}function getBinaryOperatorPrecedence(){switch(l){case 52:return 1;case 51:return 2;case 47:return 3;case 48:return 4;case 46:return 5;case 30:case 31:case 32:case 33:return 6;case 25:case 27:case 28:case 29:case 91:case 90:case 116:return 7;case 43:case 44:case 45:return 8;case 35:case 36:return 9;case 37:case 39:case 40:return 10;case 38:return 11}return-1}function makeBinaryExpression(e,t,r){var n=createNode(187,e.pos);n.left=e;n.operatorToken=t;n.right=r;return finishNode(n)}function makeAsExpression(e,t){var r=createNode(195,e.pos);r.expression=e;r.type=t;return finishNode(r)}function parsePrefixUnaryExpression(){var e=createNode(185);e.operator=l;nextToken();e.operand=parseSimpleUnaryExpression();return finishNode(e)}function parseDeleteExpression(){var e=createNode(181);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseTypeOfExpression(){var e=createNode(182);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseVoidExpression(){var e=createNode(183);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function isAwaitExpression(){return 119===l&&(!!inAwaitContext()||lookAhead(nextTokenIsIdentifierOnSameLine))}function parseAwaitExpression(){var e=createNode(184);nextToken();e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseUnaryExpressionOrHigher(){if(isAwaitExpression())return parseAwaitExpression();if(isIncrementExpression()){var t=parseIncrementExpression();return 38===l?parseBinaryExpressionRest(getBinaryOperatorPrecedence(),t):t}var r=l;var n=parseSimpleUnaryExpression();if(38===l){var a=e.skipTrivia(u,n.pos);177===n.kind?parseErrorAtPosition(a,n.end-a,e.Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):parseErrorAtPosition(a,n.end-a,e.Diagnostics.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,e.tokenToString(r))}return n}function parseSimpleUnaryExpression(){switch(l){case 35:case 36:case 50:case 49:return parsePrefixUnaryExpression();case 78:return parseDeleteExpression();case 101:return parseTypeOfExpression();case 103:return parseVoidExpression();case 25:return parseTypeAssertion();default:return parseIncrementExpression()}}function isIncrementExpression(){switch(l){case 35:case 36:case 50:case 49:case 78:case 101:case 103:return false;case 25:if(1!==o.languageVariant)return false;default:return true}}function parseIncrementExpression(){if(41===l||42===l){var t=createNode(185);t.operator=l;nextToken();t.operand=parseLeftHandSideExpressionOrHigher();return finishNode(t)}if(1===o.languageVariant&&25===l&&lookAhead(nextTokenIsIdentifierOrKeyword))return parseJsxElementOrSelfClosingElement(true);var n=parseLeftHandSideExpressionOrHigher();e.Debug.assert(e.isLeftHandSideExpression(n));if((41===l||42===l)&&!r.hasPrecedingLineBreak()){var t=createNode(186,n.pos);t.operand=n;t.operator=l;nextToken();return finishNode(t)}return n}function parseLeftHandSideExpressionOrHigher(){var e=95===l?parseSuperExpression():parseMemberExpressionOrHigher();return parseCallExpressionRest(e)}function parseMemberExpressionOrHigher(){var e=parsePrimaryExpression();return parseMemberExpressionRest(e)}function parseSuperExpression(){var t=parseTokenNode();if(17===l||21===l||19===l)return t;var r=createNode(172,t.pos);r.expression=t;parseExpectedToken(21,false,e.Diagnostics.super_must_be_followed_by_an_argument_list_or_member_access);r.name=parseRightSideOfDot(true);return finishNode(r)}function tagNamesAreEquivalent(e,t){return e.kind===t.kind&&(69===e.kind?e.text===t.text:97===e.kind||e.name.text===t.name.text&&tagNamesAreEquivalent(e.expression,t.expression))}function parseJsxElementOrSelfClosingElement(t){var r=parseJsxOpeningOrSelfClosingElement(t);var n;if(243===r.kind){var a=createNode(241,r.pos);a.openingElement=r;a.children=parseJsxChildren(a.openingElement.tagName);a.closingElement=parseJsxClosingElement(t);tagNamesAreEquivalent(a.openingElement.tagName,a.closingElement.tagName)||parseErrorAtPosition(a.closingElement.pos,a.closingElement.end-a.closingElement.pos,e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,e.getTextOfNodeFromSourceText(u,a.openingElement.tagName));n=finishNode(a)}else{e.Debug.assert(242===r.kind);n=r}if(t&&25===l){var i=tryParse((function(){return parseJsxElementOrSelfClosingElement(true)}));if(i){parseErrorAtCurrentToken(e.Diagnostics.JSX_expressions_must_have_one_parent_element);var o=createNode(187,n.pos);o.end=i.end;o.left=n;o.right=i;o.operatorToken=createMissingNode(24,false,void 0);o.operatorToken.pos=o.operatorToken.end=o.right.pos;return o}}return n}function parseJsxText(){var e=createNode(244,r.getStartPos());l=r.scanJsxToken();return finishNode(e)}function parseJsxChild(){switch(l){case 244:return parseJsxText();case 15:return parseJsxExpression(false);case 25:return parseJsxElementOrSelfClosingElement(false)}e.Debug.fail("Unknown JSX child kind "+l)}function parseJsxChildren(t){var n=[];n.pos=r.getStartPos();var a=m;m|=1<<14;while(true){l=r.reScanJsxToken();if(26===l)break;if(1===l){parseErrorAtPosition(t.pos,t.end-t.pos,e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,e.getTextOfNodeFromSourceText(u,t));break}n.push(parseJsxChild())}n.end=r.getTokenPos();m=a;return n}function parseJsxOpeningOrSelfClosingElement(e){var t=r.getStartPos();parseExpected(25);var n=parseJsxElementName();var a=parseList(13,parseJsxAttribute);var i;if(27===l){i=createNode(243,t);scanJsxText()}else{parseExpected(39);if(e)parseExpected(27);else{parseExpected(27,void 0,false);scanJsxText()}i=createNode(242,t)}i.tagName=n;i.attributes=a;return finishNode(i)}function parseJsxElementName(){scanJsxIdentifier();var e=97===l?parseTokenNode():parseIdentifierName();while(parseOptional(21)){var t=createNode(172,e.pos);t.expression=e;t.name=parseRightSideOfDot(true);e=finishNode(t)}return e}function parseJsxExpression(e){var t=createNode(248);parseExpected(15);16!==l&&(t.expression=parseAssignmentExpressionOrHigher());if(e)parseExpected(16);else{parseExpected(16,void 0,false);scanJsxText()}return finishNode(t)}function parseJsxAttribute(){if(15===l)return parseJsxSpreadAttribute();scanJsxIdentifier();var e=createNode(246);e.name=parseIdentifierName();if(parseOptional(56))switch(l){case 9:e.initializer=parseLiteralNode();break;default:e.initializer=parseJsxExpression(true);break}return finishNode(e)}function parseJsxSpreadAttribute(){var e=createNode(247);parseExpected(15);parseExpected(22);e.expression=parseExpression();parseExpected(16);return finishNode(e)}function parseJsxClosingElement(e){var t=createNode(245);parseExpected(26);t.tagName=parseJsxElementName();if(e)parseExpected(27);else{parseExpected(27,void 0,false);scanJsxText()}return finishNode(t)}function parseTypeAssertion(){var e=createNode(177);parseExpected(25);e.type=parseType();parseExpected(27);e.expression=parseSimpleUnaryExpression();return finishNode(e)}function parseMemberExpressionRest(e){while(true){var t=parseOptionalToken(21);if(t){var n=createNode(172,e.pos);n.expression=e;n.name=parseRightSideOfDot(true);e=finishNode(n)}else if(49!==l||r.hasPrecedingLineBreak())if(inDecoratorContext()||!parseOptional(19)){if(11!==l&&12!==l)return e;var a=createNode(176,e.pos);a.tag=e;a.template=11===l?parseLiteralNode():parseTemplateExpression();e=finishNode(a)}else{var i=createNode(173,e.pos);i.expression=e;if(20!==l){i.argumentExpression=allowInAnd(parseExpression);if(9===i.argumentExpression.kind||8===i.argumentExpression.kind){var o=i.argumentExpression;o.text=internIdentifier(o.text)}}parseExpected(20);e=finishNode(i)}else{nextToken();var s=createNode(196,e.pos);s.expression=e;e=finishNode(s)}}}function parseCallExpressionRest(e){while(true){e=parseMemberExpressionRest(e);if(25!==l){if(17!==l)return e;var t=createNode(174,e.pos);t.expression=e;t.arguments=parseArgumentList();e=finishNode(t)}else{var r=tryParse(parseTypeArgumentsInExpression);if(!r)return e;var t=createNode(174,e.pos);t.expression=e;t.typeArguments=r;t.arguments=parseArgumentList();e=finishNode(t)}}}function parseArgumentList(){parseExpected(17);var e=parseDelimitedList(11,parseArgumentExpression);parseExpected(18);return e}function parseTypeArgumentsInExpression(){if(parseOptional(25)){var e=parseDelimitedList(18,parseType);if(parseExpected(27))return e&&canFollowTypeArgumentsInExpression()?e:void 0}}function canFollowTypeArgumentsInExpression(){switch(l){case 17:case 21:case 18:case 20:case 54:case 23:case 53:case 30:case 32:case 31:case 33:case 51:case 52:case 48:case 46:case 47:case 16:case 1:return true;case 24:case 15:default:return false}}function parsePrimaryExpression(){switch(l){case 8:case 9:case 11:return parseLiteralNode();case 97:case 95:case 93:case 99:case 84:return parseTokenNode();case 17:return parseParenthesizedExpression();case 19:return parseArrayLiteralExpression();case 15:return parseObjectLiteralExpression();case 118:if(!lookAhead(nextTokenIsFunctionKeywordOnSameLine))break;return parseFunctionExpression();case 73:return parseClassExpression();case 87:return parseFunctionExpression();case 92:return parseNewExpression();case 39:case 61:if(10===reScanSlashToken())return parseLiteralNode();break;case 12:return parseTemplateExpression()}return parseIdentifier(e.Diagnostics.Expression_expected)}function parseParenthesizedExpression(){var e=createNode(178);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);return finishNode(e)}function parseSpreadElement(){var e=createNode(191);parseExpected(22);e.expression=parseAssignmentExpressionOrHigher();return finishNode(e)}function parseArgumentOrArrayLiteralElement(){return 22===l?parseSpreadElement():24===l?createNode(193):parseAssignmentExpressionOrHigher()}function parseArgumentExpression(){return doOutsideOfContext(n,parseArgumentOrArrayLiteralElement)}function parseArrayLiteralExpression(){var e=createNode(170);parseExpected(19);r.hasPrecedingLineBreak()&&(e.multiLine=true);e.elements=parseDelimitedList(15,parseArgumentOrArrayLiteralElement);parseExpected(20);return finishNode(e)}function tryParseAccessorDeclaration(e,t,r){return parseContextualModifier(123)?addJSDocComment(parseAccessorDeclaration(149,e,t,r)):parseContextualModifier(131)?parseAccessorDeclaration(150,e,t,r):void 0}function parseObjectLiteralElement(){var e=r.getStartPos();var t=parseDecorators();var n=parseModifiers();var a=tryParseAccessorDeclaration(e,t,n);if(a)return a;var i=parseOptionalToken(37);var o=isIdentifier();var s=parsePropertyName();var c=parseOptionalToken(53);if(i||17===l||25===l)return parseMethodDeclaration(e,t,n,i,s,c);var u=o&&(24===l||16===l||56===l);if(u){var _=createNode(254,e);_.name=s;_.questionToken=c;var d=parseOptionalToken(56);if(d){_.equalsToken=d;_.objectAssignmentInitializer=allowInAnd(parseAssignmentExpressionOrHigher)}return addJSDocComment(finishNode(_))}var p=createNode(253,e);p.modifiers=n;p.name=s;p.questionToken=c;parseExpected(54);p.initializer=allowInAnd(parseAssignmentExpressionOrHigher);return addJSDocComment(finishNode(p))}function parseObjectLiteralExpression(){var e=createNode(171);parseExpected(15);r.hasPrecedingLineBreak()&&(e.multiLine=true);e.properties=parseDelimitedList(12,parseObjectLiteralElement,true);parseExpected(16);return finishNode(e)}function parseFunctionExpression(){var e=inDecoratorContext();e&&setDecoratorContext(false);var t=createNode(179);setModifiers(t,parseModifiers());parseExpected(87);t.asteriskToken=parseOptionalToken(37);var r=!!t.asteriskToken;var n=!!(256&t.flags);t.name=r&&n?doInYieldAndAwaitContext(parseOptionalIdentifier):r?doInYieldContext(parseOptionalIdentifier):n?doInAwaitContext(parseOptionalIdentifier):parseOptionalIdentifier();fillSignature(54,r,n,false,t);t.body=parseFunctionBlock(r,n,false);e&&setDecoratorContext(true);return addJSDocComment(finishNode(t))}function parseOptionalIdentifier(){return isIdentifier()?parseIdentifier():void 0}function parseNewExpression(){var e=createNode(175);parseExpected(92);e.expression=parseMemberExpressionOrHigher();e.typeArguments=tryParse(parseTypeArgumentsInExpression);(e.typeArguments||17===l)&&(e.arguments=parseArgumentList());return finishNode(e)}function parseBlock(e,t){var r=createNode(199);if(parseExpected(15,t)||e){r.statements=parseList(1,parseStatement);parseExpected(16)}else r.statements=createMissingList();return finishNode(r)}function parseFunctionBlock(e,t,r,n){var a=inYieldContext();setYieldContext(e);var i=inAwaitContext();setAwaitContext(t);var o=inDecoratorContext();o&&setDecoratorContext(false);var s=parseBlock(r,n);o&&setDecoratorContext(true);setYieldContext(a);setAwaitContext(i);return s}function parseEmptyStatement(){var e=createNode(201);parseExpected(23);return finishNode(e)}function parseIfStatement(){var e=createNode(203);parseExpected(88);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);e.thenStatement=parseStatement();e.elseStatement=parseOptional(80)?parseStatement():void 0;return finishNode(e)}function parseDoStatement(){var e=createNode(204);parseExpected(79);e.statement=parseStatement();parseExpected(104);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);parseOptional(23);return finishNode(e)}function parseWhileStatement(){var e=createNode(205);parseExpected(104);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);e.statement=parseStatement();return finishNode(e)}function parseForOrForInOrForOfStatement(){var e=getNodePos();parseExpected(86);parseExpected(17);var t=void 0;23!==l&&(t=102===l||108===l||74===l?parseVariableDeclarationList(true):disallowInAnd(parseExpression));var r;if(parseOptional(90)){var n=createNode(207,e);n.initializer=t;n.expression=allowInAnd(parseExpression);parseExpected(18);r=n}else if(parseOptional(138)){var a=createNode(208,e);a.initializer=t;a.expression=allowInAnd(parseAssignmentExpressionOrHigher);parseExpected(18);r=a}else{var i=createNode(206,e);i.initializer=t;parseExpected(23);23!==l&&18!==l&&(i.condition=allowInAnd(parseExpression));parseExpected(23);18!==l&&(i.incrementor=allowInAnd(parseExpression));parseExpected(18);r=i}r.statement=parseStatement();return finishNode(r)}function parseBreakOrContinueStatement(e){var t=createNode(e);parseExpected(210===e?70:75);canParseSemicolon()||(t.label=parseIdentifier());parseSemicolon();return finishNode(t)}function parseReturnStatement(){var e=createNode(211);parseExpected(94);canParseSemicolon()||(e.expression=allowInAnd(parseExpression));parseSemicolon();return finishNode(e)}function parseWithStatement(){var e=createNode(212);parseExpected(105);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);e.statement=parseStatement();return finishNode(e)}function parseCaseClause(){var e=createNode(249);parseExpected(71);e.expression=allowInAnd(parseExpression);parseExpected(54);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseDefaultClause(){var e=createNode(250);parseExpected(77);parseExpected(54);e.statements=parseList(3,parseStatement);return finishNode(e)}function parseCaseOrDefaultClause(){return 71===l?parseCaseClause():parseDefaultClause()}function parseSwitchStatement(){var e=createNode(213);parseExpected(96);parseExpected(17);e.expression=allowInAnd(parseExpression);parseExpected(18);var t=createNode(227,r.getStartPos());parseExpected(15);t.clauses=parseList(2,parseCaseOrDefaultClause);parseExpected(16);e.caseBlock=finishNode(t);return finishNode(e)}function parseThrowStatement(){var e=createNode(215);parseExpected(98);e.expression=r.hasPrecedingLineBreak()?void 0:allowInAnd(parseExpression);parseSemicolon();return finishNode(e)}function parseTryStatement(){var e=createNode(216);parseExpected(100);e.tryBlock=parseBlock(false);e.catchClause=72===l?parseCatchClause():void 0;if(!e.catchClause||85===l){parseExpected(85);e.finallyBlock=parseBlock(false)}return finishNode(e)}function parseCatchClause(){var e=createNode(252);parseExpected(72);parseExpected(17)&&(e.variableDeclaration=parseVariableDeclaration());parseExpected(18);e.block=parseBlock(false);return finishNode(e)}function parseDebuggerStatement(){var e=createNode(217);parseExpected(76);parseSemicolon();return finishNode(e)}function parseExpressionOrLabeledStatement(){var e=r.getStartPos();var t=allowInAnd(parseExpression);if(69===t.kind&&parseOptional(54)){var n=createNode(214,e);n.label=t;n.statement=parseStatement();return addJSDocComment(finishNode(n))}var a=createNode(202,e);a.expression=t;parseSemicolon();return addJSDocComment(finishNode(a))}function nextTokenIsIdentifierOrKeywordOnSameLine(){nextToken();return e.tokenIsIdentifierOrKeyword(l)&&!r.hasPrecedingLineBreak()}function nextTokenIsFunctionKeywordOnSameLine(){nextToken();return 87===l&&!r.hasPrecedingLineBreak()}function nextTokenIsIdentifierOrKeywordOrNumberOnSameLine(){nextToken();return(e.tokenIsIdentifierOrKeyword(l)||8===l)&&!r.hasPrecedingLineBreak()}function isDeclaration(){while(true)switch(l){case 102:case 108:case 74:case 87:case 73:case 81:return true;case 107:case 134:return nextTokenIsIdentifierOnSameLine();case 125:case 126:return nextTokenIsIdentifierOrStringLiteralOnSameLine();case 115:case 118:case 122:case 110:case 111:case 112:case 128:nextToken();if(r.hasPrecedingLineBreak())return false;continue;case 137:nextToken();return 15===l||69===l||82===l;case 89:nextToken();return 9===l||37===l||15===l||e.tokenIsIdentifierOrKeyword(l);case 82:nextToken();if(56===l||37===l||15===l||77===l||116===l)return true;continue;case 113:nextToken();continue;default:return false}}function isStartOfDeclaration(){return lookAhead(isDeclaration)}function isStartOfStatement(){switch(l){case 55:case 23:case 15:case 102:case 108:case 87:case 73:case 81:case 88:case 79:case 104:case 86:case 75:case 70:case 94:case 105:case 96:case 98:case 100:case 76:case 72:case 85:return true;case 74:case 82:case 89:return isStartOfDeclaration();case 118:case 122:case 107:case 125:case 126:case 134:case 137:return true;case 112:case 110:case 111:case 113:case 128:return isStartOfDeclaration()||!lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine);default:return isStartOfExpression()}}function nextTokenIsIdentifierOrStartOfDestructuring(){nextToken();return isIdentifier()||15===l||19===l}function isLetDeclaration(){return lookAhead(nextTokenIsIdentifierOrStartOfDestructuring)}function parseStatement(){switch(l){case 23:return parseEmptyStatement();case 15:return parseBlock(false);case 102:return parseVariableStatement(r.getStartPos(),void 0,void 0);case 108:if(isLetDeclaration())return parseVariableStatement(r.getStartPos(),void 0,void 0);break;case 87:return parseFunctionDeclaration(r.getStartPos(),void 0,void 0);case 73:return parseClassDeclaration(r.getStartPos(),void 0,void 0);case 88:return parseIfStatement();case 79:return parseDoStatement();case 104:return parseWhileStatement();case 86:return parseForOrForInOrForOfStatement();case 75:return parseBreakOrContinueStatement(209);case 70:return parseBreakOrContinueStatement(210);case 94:return parseReturnStatement();case 105:return parseWithStatement();case 96:return parseSwitchStatement();case 98:return parseThrowStatement();case 100:case 72:case 85:return parseTryStatement();case 76:return parseDebuggerStatement();case 55:return parseDeclaration();case 118:case 107:case 134:case 125:case 126:case 122:case 74:case 81:case 82:case 89:case 110:case 111:case 112:case 115:case 113:case 128:case 137:if(isStartOfDeclaration())return parseDeclaration();break}return parseExpressionOrLabeledStatement()}function parseDeclaration(){var t=getNodePos();var r=parseDecorators();var n=parseModifiers();switch(l){case 102:case 108:case 74:return parseVariableStatement(t,r,n);case 87:return parseFunctionDeclaration(t,r,n);case 73:return parseClassDeclaration(t,r,n);case 107:return parseInterfaceDeclaration(t,r,n);case 134:return parseTypeAliasDeclaration(t,r,n);case 81:return parseEnumDeclaration(t,r,n);case 137:case 125:case 126:return parseModuleDeclaration(t,r,n);case 89:return parseImportDeclarationOrImportEqualsDeclaration(t,r,n);case 82:nextToken();switch(l){case 77:case 56:return parseExportAssignment(t,r,n);case 116:return parseNamespaceExportDeclaration(t,r,n);default:return parseExportDeclaration(t,r,n)}default:if(r||n){var a=createMissingNode(239,true,e.Diagnostics.Declaration_expected);a.pos=t;a.decorators=r;setModifiers(a,n);return finishNode(a)}}}function nextTokenIsIdentifierOrStringLiteralOnSameLine(){nextToken();return!r.hasPrecedingLineBreak()&&(isIdentifier()||9===l)}function parseFunctionBlockOrSemicolon(e,t,r){if(15===l||!canParseSemicolon())return parseFunctionBlock(e,t,false,r);parseSemicolon()}function parseArrayBindingElement(){if(24===l)return createNode(193);var e=createNode(169);e.dotDotDotToken=parseOptionalToken(22);e.name=parseIdentifierOrPattern();e.initializer=parseBindingElementInitializer(false);return finishNode(e)}function parseObjectBindingElement(){var e=createNode(169);var t=isIdentifier();var r=parsePropertyName();if(t&&54!==l)e.name=r;else{parseExpected(54);e.propertyName=r;e.name=parseIdentifierOrPattern()}e.initializer=parseBindingElementInitializer(false);return finishNode(e)}function parseObjectBindingPattern(){var e=createNode(167);parseExpected(15);e.elements=parseDelimitedList(9,parseObjectBindingElement);parseExpected(16);return finishNode(e)}function parseArrayBindingPattern(){var e=createNode(168);parseExpected(19);e.elements=parseDelimitedList(10,parseArrayBindingElement);parseExpected(20);return finishNode(e)}function isIdentifierOrPattern(){return 15===l||19===l||isIdentifier()}function parseIdentifierOrPattern(){return 19===l?parseArrayBindingPattern():15===l?parseObjectBindingPattern():parseIdentifier()}function parseVariableDeclaration(){var e=createNode(218);e.name=parseIdentifierOrPattern();e.type=parseTypeAnnotation();isInOrOfKeyword(l)||(e.initializer=parseInitializer(false));return finishNode(e)}function parseVariableDeclarationList(t){var r=createNode(219);switch(l){case 102:break;case 108:r.flags|=1024;break;case 74:r.flags|=2048;break;default:e.Debug.fail()}nextToken();if(138===l&&lookAhead(canFollowContextualOfKeyword))r.declarations=createMissingList();else{var n=inDisallowInContext();setDisallowInContext(t);r.declarations=parseDelimitedList(8,parseVariableDeclaration);setDisallowInContext(n)}return finishNode(r)}function canFollowContextualOfKeyword(){return nextTokenIsIdentifier()&&18===nextToken()}function parseVariableStatement(e,t,r){var n=createNode(200,e);n.decorators=t;setModifiers(n,r);n.declarationList=parseVariableDeclarationList(false);parseSemicolon();return addJSDocComment(finishNode(n))}function parseFunctionDeclaration(t,r,n){var a=createNode(220,t);a.decorators=r;setModifiers(a,n);parseExpected(87);a.asteriskToken=parseOptionalToken(37);a.name=512&a.flags?parseOptionalIdentifier():parseIdentifier();var i=!!a.asteriskToken;var o=!!(256&a.flags);fillSignature(54,i,o,false,a);a.body=parseFunctionBlockOrSemicolon(i,o,e.Diagnostics.or_expected);return addJSDocComment(finishNode(a))}function parseConstructorDeclaration(t,r,n){var a=createNode(148,t);a.decorators=r;setModifiers(a,n);parseExpected(121);fillSignature(54,false,false,false,a);a.body=parseFunctionBlockOrSemicolon(false,false,e.Diagnostics.or_expected);return addJSDocComment(finishNode(a))}function parseMethodDeclaration(e,t,r,n,a,i,o){var s=createNode(147,e);s.decorators=t;setModifiers(s,r);s.asteriskToken=n;s.name=a;s.questionToken=i;var c=!!n;var l=!!(256&s.flags);fillSignature(54,c,l,false,s);s.body=parseFunctionBlockOrSemicolon(c,l,o);return addJSDocComment(finishNode(s))}function parsePropertyDeclaration(e,t,r,n,a){var i=createNode(145,e);i.decorators=t;setModifiers(i,r);i.name=n;i.questionToken=a;i.type=parseTypeAnnotation();i.initializer=r&&32&r.flags?allowInAnd(parseNonParameterInitializer):doOutsideOfContext(8388608|4194304,parseNonParameterInitializer);parseSemicolon();return finishNode(i)}function parsePropertyOrMethodDeclaration(t,r,n){var a=parseOptionalToken(37);var i=parsePropertyName();var o=parseOptionalToken(53);return a||17===l||25===l?parseMethodDeclaration(t,r,n,a,i,o,e.Diagnostics.or_expected):parsePropertyDeclaration(t,r,n,i,o)}function parseNonParameterInitializer(){return parseInitializer(false)}function parseAccessorDeclaration(e,t,r,n){var a=createNode(e,t);a.decorators=r;setModifiers(a,n);a.name=parsePropertyName();fillSignature(54,false,false,false,a);a.body=parseFunctionBlockOrSemicolon(false,false);return finishNode(a)}function isClassMemberModifier(e){switch(e){case 112:case 110:case 111:case 113:case 128:return true;default:return false}}function isClassMemberStart(){var t;if(55===l)return true;while(e.isModifierKind(l)){t=l;if(isClassMemberModifier(t))return true;nextToken()}if(37===l)return true;if(isLiteralPropertyName()){t=l;nextToken()}if(19===l)return true;if(void 0!==t){if(!e.isKeyword(t)||131===t||123===t)return true;switch(l){case 17:case 25:case 54:case 56:case 53:return true;default:return canParseSemicolon()}}return false}function parseDecorators(){var e;while(true){var t=getNodePos();if(!parseOptional(55))break;if(!e){e=[];e.pos=t}var r=createNode(143,t);r.expression=doInDecoratorContext(parseLeftHandSideExpressionOrHigher);e.push(finishNode(r))}e&&(e.end=getNodeEnd());return e}function parseModifiers(t){var n=0;var a;while(true){var i=r.getStartPos();var o=l;if(74===l&&t){if(!tryParse(nextTokenIsOnSameLineAndCanFollowModifier))break}else if(!parseAnyContextualModifier())break;if(!a){a=[];a.pos=i}n|=e.modifierToFlag(o);a.push(finishNode(createNode(o,i)))}if(a){a.flags=n;a.end=r.getStartPos()}return a}function parseModifiersForArrowFunction(){var t=0;var n;if(118===l){var a=r.getStartPos();var i=l;nextToken();n=[];n.pos=a;t|=e.modifierToFlag(i);n.push(finishNode(createNode(i,a)));n.flags=t;n.end=r.getStartPos()}return n}function parseClassElement(){if(23===l){var t=createNode(198);nextToken();return finishNode(t)}var r=getNodePos();var n=parseDecorators();var a=parseModifiers(true);var i=tryParseAccessorDeclaration(r,n,a);if(i)return i;if(121===l)return parseConstructorDeclaration(r,n,a);if(isIndexSignature())return parseIndexSignatureDeclaration(r,n,a);if(e.tokenIsIdentifierOrKeyword(l)||9===l||8===l||37===l||19===l)return parsePropertyOrMethodDeclaration(r,n,a);if(n||a){var o=createMissingNode(69,true,e.Diagnostics.Declaration_expected);return parsePropertyDeclaration(r,n,a,o,void 0)}e.Debug.fail("Should not have attempted to parse class member declaration.")}function parseClassExpression(){return parseClassDeclarationOrExpression(r.getStartPos(),void 0,void 0,192)}function parseClassDeclaration(e,t,r){return parseClassDeclarationOrExpression(e,t,r,221)}function parseClassDeclarationOrExpression(e,t,r,n){var a=createNode(n,e);a.decorators=t;setModifiers(a,r);parseExpected(73);a.name=parseNameOfClassDeclarationOrExpression();a.typeParameters=parseTypeParameters();a.heritageClauses=parseHeritageClauses(true);if(parseExpected(15)){a.members=parseClassMembers();parseExpected(16)}else a.members=createMissingList();return finishNode(a)}function parseNameOfClassDeclarationOrExpression(){return isIdentifier()&&!isImplementsClause()?parseIdentifier():void 0}function isImplementsClause(){return 106===l&&lookAhead(nextTokenIsIdentifierOrKeyword)}function parseHeritageClauses(e){if(isHeritageClause())return parseList(20,parseHeritageClause)}function parseHeritageClause(){if(83===l||106===l){var e=createNode(251);e.token=l;nextToken();e.types=parseDelimitedList(7,parseExpressionWithTypeArguments);return finishNode(e)}}function parseExpressionWithTypeArguments(){var e=createNode(194);e.expression=parseLeftHandSideExpressionOrHigher();25===l&&(e.typeArguments=parseBracketedList(18,parseType,25,27));return finishNode(e)}function isHeritageClause(){return 83===l||106===l}function parseClassMembers(){return parseList(5,parseClassElement)}function parseInterfaceDeclaration(e,t,r){var n=createNode(222,e);n.decorators=t;setModifiers(n,r);parseExpected(107);n.name=parseIdentifier();n.typeParameters=parseTypeParameters();n.heritageClauses=parseHeritageClauses(false);n.members=parseObjectTypeMembers();return finishNode(n)}function parseTypeAliasDeclaration(e,t,r){var n=createNode(223,e);n.decorators=t;setModifiers(n,r);parseExpected(134);n.name=parseIdentifier();n.typeParameters=parseTypeParameters();parseExpected(56);n.type=parseType();parseSemicolon();return finishNode(n)}function parseEnumMember(){var e=createNode(255,r.getStartPos());e.name=parsePropertyName();e.initializer=allowInAnd(parseNonParameterInitializer);return finishNode(e)}function parseEnumDeclaration(e,t,r){var n=createNode(224,e);n.decorators=t;setModifiers(n,r);parseExpected(81);n.name=parseIdentifier();if(parseExpected(15)){n.members=parseDelimitedList(6,parseEnumMember);parseExpected(16)}else n.members=createMissingList();return finishNode(n)}function parseModuleBlock(){var e=createNode(226,r.getStartPos());if(parseExpected(15)){e.statements=parseList(1,parseStatement);parseExpected(16)}else e.statements=createMissingList();return finishNode(e)}function parseModuleOrNamespaceDeclaration(e,t,r,n){var a=createNode(225,e);var i=4096&n;a.decorators=t;setModifiers(a,r);a.flags|=n;a.name=parseIdentifier();a.body=parseOptional(21)?parseModuleOrNamespaceDeclaration(getNodePos(),void 0,void 0,1|i):parseModuleBlock();return finishNode(a)}function parseAmbientExternalModuleDeclaration(e,t,r){var n=createNode(225,e);n.decorators=t;setModifiers(n,r);if(137===l){n.name=parseIdentifier();n.flags|=131072}else n.name=parseLiteralNode(true);15===l?n.body=parseModuleBlock():parseSemicolon();return finishNode(n)}function parseModuleDeclaration(e,t,r){var n=r?r.flags:0;if(137===l)return parseAmbientExternalModuleDeclaration(e,t,r);if(parseOptional(126))n|=4096;else{parseExpected(125);if(9===l)return parseAmbientExternalModuleDeclaration(e,t,r)}return parseModuleOrNamespaceDeclaration(e,t,r,n)}function isExternalModuleReference(){return 129===l&&lookAhead(nextTokenIsOpenParen)}function nextTokenIsOpenParen(){return 17===nextToken()}function nextTokenIsSlash(){return 39===nextToken()}function parseNamespaceExportDeclaration(e,t,r){var n=createNode(228,e);n.decorators=t;n.modifiers=r;parseExpected(116);parseExpected(126);n.name=parseIdentifier();parseExpected(23);return finishNode(n)}function parseImportDeclarationOrImportEqualsDeclaration(e,t,n){parseExpected(89);var a=r.getStartPos();var i;if(isIdentifier()){i=parseIdentifier();if(24!==l&&136!==l){var o=createNode(229,e);o.decorators=t;setModifiers(o,n);o.name=i;parseExpected(56);o.moduleReference=parseModuleReference();parseSemicolon();return finishNode(o)}}var s=createNode(230,e);s.decorators=t;setModifiers(s,n);if(i||37===l||15===l){s.importClause=parseImportClause(i,a);parseExpected(136)}s.moduleSpecifier=parseModuleSpecifier();parseSemicolon();return finishNode(s)}function parseImportClause(e,t){var r=createNode(231,t);e&&(r.name=e);r.name&&!parseOptional(24)||(r.namedBindings=37===l?parseNamespaceImport():parseNamedImportsOrExports(233));return finishNode(r)}function parseModuleReference(){return isExternalModuleReference()?parseExternalModuleReference():parseEntityName(false)}function parseExternalModuleReference(){var e=createNode(240);parseExpected(129);parseExpected(17);e.expression=parseModuleSpecifier();parseExpected(18);return finishNode(e)}function parseModuleSpecifier(){if(9===l){var e=parseLiteralNode();internIdentifier(e.text);return e}return parseExpression()}function parseNamespaceImport(){var e=createNode(232);parseExpected(37);parseExpected(116);e.name=parseIdentifier();return finishNode(e)}function parseNamedImportsOrExports(e){var t=createNode(e);t.elements=parseBracketedList(21,233===e?parseImportSpecifier:parseExportSpecifier,15,16);return finishNode(t)}function parseExportSpecifier(){return parseImportOrExportSpecifier(238)}function parseImportSpecifier(){return parseImportOrExportSpecifier(234)}function parseImportOrExportSpecifier(t){var n=createNode(t);var a=e.isKeyword(l)&&!isIdentifier();var i=r.getTokenPos();var o=r.getTextPos();var s=parseIdentifierName();if(116===l){n.propertyName=s;parseExpected(116);a=e.isKeyword(l)&&!isIdentifier();i=r.getTokenPos();o=r.getTextPos();n.name=parseIdentifierName()}else n.name=s;234===t&&a&&parseErrorAtPosition(i,o-i,e.Diagnostics.Identifier_expected);return finishNode(n)}function parseExportDeclaration(e,t,n){var a=createNode(236,e);a.decorators=t;setModifiers(a,n);if(parseOptional(37)){parseExpected(136);a.moduleSpecifier=parseModuleSpecifier()}else{a.exportClause=parseNamedImportsOrExports(237);if(136===l||9===l&&!r.hasPrecedingLineBreak()){parseExpected(136);a.moduleSpecifier=parseModuleSpecifier()}}parseSemicolon();return finishNode(a)}function parseExportAssignment(e,t,r){var n=createNode(235,e);n.decorators=t;setModifiers(n,r);parseOptional(56)?n.isExportEquals=true:parseExpected(77);n.expression=parseAssignmentExpressionOrHigher();parseSemicolon();return finishNode(n)}function processReferenceComments(t){var r=e.createScanner(t.languageVersion,false,0,u);var n=[];var a=[];var i=[];var o;while(true){var c=r.scan();if(2!==c){if(e.isTrivia(c))continue;break}var l={pos:r.getTokenPos(),end:r.getTextPos(),kind:r.getToken()};var _=u.substring(l.pos,l.end);var d=e.getFileReferenceFromReferencePath(_,l);if(d){var p=d.fileReference;t.hasNoDefaultLib=d.isNoDefaultLib;var m=d.diagnosticMessage;p&&(d.isTypeReferenceDirective?a.push(p):n.push(p));m&&s.push(e.createFileDiagnostic(t,l.pos,l.end-l.pos,m))}else{var g=/^\/\/\/\s*".length;return parseErrorAtPosition(r,n-r,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function parseQualifiedName(e){var t=createNode(139,e.pos);t.left=e;t.right=parseIdentifierName();return finishNode(t)}function parseJSDocRecordType(){var e=createNode(265);nextToken();e.members=parseDelimitedList(24,parseJSDocRecordMember);checkForTrailingComma(e.members);parseExpected(16);return finishNode(e)}function parseJSDocRecordMember(){var e=createNode(266);e.name=parseSimplePropertyName();if(54===l){nextToken();e.type=parseJSDocType()}return finishNode(e)}function parseJSDocNonNullableType(){var e=createNode(264);nextToken();e.type=parseJSDocType();return finishNode(e)}function parseJSDocTupleType(){var e=createNode(262);nextToken();e.types=parseDelimitedList(25,parseJSDocType);checkForTrailingComma(e.types);parseExpected(20);return finishNode(e)}function checkForTrailingComma(t){if(0===s.length&&t.hasTrailingComma){var r=t.end-",".length;parseErrorAtPosition(r,",".length,e.Diagnostics.Trailing_comma_not_allowed)}}function parseJSDocUnionType(){var e=createNode(261);nextToken();e.types=parseJSDocTypeList(parseJSDocType());parseExpected(18);return finishNode(e)}function parseJSDocTypeList(t){e.Debug.assert(!!t);var n=[];n.pos=t.pos;n.push(t);while(parseOptional(47))n.push(parseJSDocType());n.end=r.getStartPos();return n}function parseJSDocAllType(){var e=createNode(258);nextToken();return finishNode(e)}function parseJSDocUnknownOrNullableType(){var e=r.getStartPos();nextToken();if(24===l||16===l||18===l||27===l||56===l||47===l){var t=createNode(259,e);return finishNode(t)}var t=createNode(263,e);t.type=parseJSDocType();return finishNode(t)}function parseIsolatedJSDocComment(e,t,r){initializeState("file.js",e,2,void 0,1);o={languageVariant:0,text:e};var n=parseJSDocCommentWorker(t,r);var a=s;clearState();return n?{jsDocComment:n,diagnostics:a}:void 0}t.parseIsolatedJSDocComment=parseIsolatedJSDocComment;function parseJSDocComment(e,t,r){var n=l;var a=s.length;var i=f;var o=parseJSDocCommentWorker(t,r);o&&(o.parent=e);l=n;s.length=a;f=i;return o}t.parseJSDocComment=parseJSDocComment;function parseJSDocCommentWorker(t,n){var a=u;t=t||0;var i=void 0===n?a.length:t+n;n=i-t;e.Debug.assert(t>=0);e.Debug.assert(t<=i);e.Debug.assert(i<=a.length);var o;var s;47===a.charCodeAt(t)&&42===a.charCodeAt(t+1)&&42===a.charCodeAt(t+2)&&42!==a.charCodeAt(t+3)&&r.scanRange(t+3,n-5,(function(){var e=true;var t=true;nextJSDocToken();while(1!==l){switch(l){case 55:e&&parseTag();t=false;break;case 4:e=true;t=false;break;case 37:t&&(e=false);t=true;break;case 69:e=false;break;case 1:break}nextJSDocToken()}s=createJSDocComment()}));return s;function createJSDocComment(){if(o){var e=createNode(273,t);e.tags=o;return finishNode(e,i)}}function skipWhitespace(){while(5===l||4===l)nextJSDocToken()}function parseTag(){e.Debug.assert(55===l);var t=createNode(55,r.getTokenPos());t.end=r.getTextPos();nextJSDocToken();var n=parseJSDocIdentifierName();if(n){var a=handleTag(t,n)||handleUnknownTag(t,n);addTag(a)}}function handleTag(e,t){if(t)switch(t.text){case"param":return handleParamTag(e,t);case"return":case"returns":return handleReturnTag(e,t);case"template":return handleTemplateTag(e,t);case"type":return handleTypeTag(e,t);case"typedef":return handleTypedefTag(e,t)}}function handleUnknownTag(e,t){var r=createNode(274,e.pos);r.atToken=e;r.tagName=t;return finishNode(r)}function addTag(e){if(e){if(!o){o=[];o.pos=e.pos}o.push(e);o.end=e.end}}function tryParseTypeExpression(){if(15===l){var e=parseJSDocTypeExpression();return e}}function handleParamTag(t,n){var a=tryParseTypeExpression();skipWhitespace();var i;var o;if(parseOptionalToken(19)){i=parseJSDocIdentifierName();o=true;parseOptionalToken(56)&&parseExpression();parseExpected(20)}else e.tokenIsIdentifierOrKeyword(l)&&(i=parseJSDocIdentifierName());if(i){var s,c;a?c=i:s=i;a||(a=tryParseTypeExpression());var u=createNode(275,t.pos);u.atToken=t;u.tagName=n;u.preParameterName=s;u.typeExpression=a;u.postParameterName=c;u.isBracketed=o;return finishNode(u)}parseErrorAtPosition(r.getStartPos(),0,e.Diagnostics.Identifier_expected)}function handleReturnTag(t,n){e.forEach(o,(function(e){return 276===e.kind}))&&parseErrorAtPosition(n.pos,r.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var a=createNode(276,t.pos);a.atToken=t;a.tagName=n;a.typeExpression=tryParseTypeExpression();return finishNode(a)}function handleTypeTag(t,n){e.forEach(o,(function(e){return 277===e.kind}))&&parseErrorAtPosition(n.pos,r.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var a=createNode(277,t.pos);a.atToken=t;a.tagName=n;a.typeExpression=tryParseTypeExpression();return finishNode(a)}function handlePropertyTag(t,n){var a=tryParseTypeExpression();skipWhitespace();var i=parseJSDocIdentifierName();if(i){var o=createNode(280,t.pos);o.atToken=t;o.tagName=n;o.name=i;o.typeExpression=a;return finishNode(o)}parseErrorAtPosition(r.getStartPos(),0,e.Diagnostics.Identifier_expected)}function handleTypedefTag(e,t){var n=tryParseTypeExpression();skipWhitespace();var a=createNode(279,e.pos);a.atToken=e;a.tagName=t;a.name=parseJSDocIdentifierName();a.typeExpression=n;if(n){if(267===n.type.kind){var i=n.type;if(69===i.name.kind){var o=i.name;"Object"===o.text&&(a.jsDocTypeLiteral=scanChildTags())}}a.jsDocTypeLiteral||(a.jsDocTypeLiteral=n.type)}else a.jsDocTypeLiteral=scanChildTags();return finishNode(a);function scanChildTags(){var e=createNode(281,r.getStartPos());var t=r.getStartPos();var n=true;var a=false;var i=false;while(1!==l&&!i){nextJSDocToken();switch(l){case 55:n&&(i=!tryParseChildTag(e));a=false;break;case 4:t=r.getStartPos()-1;n=true;a=false;break;case 37:a&&(n=false);a=true;break;case 69:n=false;case 1:break}}r.setTextPos(t);return finishNode(e)}}function tryParseChildTag(t){e.Debug.assert(55===l);var n=createNode(55,r.getStartPos());n.end=r.getTextPos();nextJSDocToken();var a=parseJSDocIdentifierName();if(!a)return false;switch(a.text){case"type":if(t.jsDocTypeTag)return false;t.jsDocTypeTag=handleTypeTag(n,a);return true;case"prop":case"property":t.jsDocPropertyTags||(t.jsDocPropertyTags=[]);var i=handlePropertyTag(n,a);t.jsDocPropertyTags.push(i);return true}return false}function handleTemplateTag(t,n){e.forEach(o,(function(e){return 278===e.kind}))&&parseErrorAtPosition(n.pos,r.getTokenPos()-n.pos,e.Diagnostics._0_tag_already_specified,n.text);var a=[];a.pos=r.getStartPos();while(true){var i=parseJSDocIdentifierName();if(!i){parseErrorAtPosition(r.getStartPos(),0,e.Diagnostics.Identifier_expected);return}var s=createNode(141,i.pos);s.name=i;finishNode(s);a.push(s);if(24!==l)break;nextJSDocToken()}var c=createNode(278,t.pos);c.atToken=t;c.tagName=n;c.typeParameters=a;finishNode(c);a.end=c.end;return c}function nextJSDocToken(){return l=r.scanJSDocToken()}function parseJSDocIdentifierName(){return createJSDocIdentifier(e.tokenIsIdentifierOrKeyword(l))}function createJSDocIdentifier(t){if(t){var n=r.getTokenPos();var i=r.getTextPos();var o=createNode(69,n);o.text=a.substring(n,i);finishNode(o,i);nextJSDocToken();return o}parseErrorAtCurrentToken(e.Diagnostics.Identifier_expected)}}t.parseJSDocCommentWorker=parseJSDocCommentWorker})(v=t.JSDocParser||(t.JSDocParser={}))})(n||(n={}));var a;(function(t){function updateSourceFile(t,r,a,i){i=i||e.Debug.shouldAssert(2);checkChangeRange(t,r,a,i);if(e.textChangeRangeIsUnchanged(a))return t;if(0===t.statements.length)return n.parseSourceFile(t.fileName,r,t.languageVersion,void 0,true,t.scriptKind);var o=t;e.Debug.assert(!o.hasBeenIncrementallyParsed);o.hasBeenIncrementallyParsed=true;var s=t.text;var c=createSyntaxCursor(t);var l=extendToAffectedRange(t,a);checkChangeRange(t,r,l,i);e.Debug.assert(l.span.start<=a.span.start);e.Debug.assert(e.textSpanEnd(l.span)===e.textSpanEnd(a.span));e.Debug.assert(e.textSpanEnd(e.textChangeRangeNewSpan(l))===e.textSpanEnd(e.textChangeRangeNewSpan(a)));var u=e.textChangeRangeNewSpan(l).length-l.span.length;updateTokenPositionsAndMarkElements(o,l.span.start,e.textSpanEnd(l.span),e.textSpanEnd(e.textChangeRangeNewSpan(l)),u,s,r,i);var _=n.parseSourceFile(t.fileName,r,t.languageVersion,c,true,t.scriptKind);return _}t.updateSourceFile=updateSourceFile;function moveElementEntirelyPastChangeRange(t,r,n,a,i,o){r?visitArray(t):visitNode(t);return;function visitNode(t){var r="";o&&shouldCheckNode(t)&&(r=a.substring(t.pos,t.end));t._children&&(t._children=void 0);t.pos+=n;t.end+=n;o&&shouldCheckNode(t)&&e.Debug.assert(r===i.substring(t.pos,t.end));forEachChild(t,visitNode,visitArray);if(t.jsDocComments)for(var s=0,c=t.jsDocComments;s=r,"Adjusting an element that was entirely before the change range");e.Debug.assert(t.pos<=n,"Adjusting an element that was entirely after the change range");e.Debug.assert(t.pos<=t.end);t.pos=Math.min(t.pos,a);t.end>=n?t.end+=i:t.end=Math.min(t.end,a);e.Debug.assert(t.pos<=t.end);if(t.parent){e.Debug.assert(t.pos>=t.parent.pos);e.Debug.assert(t.end<=t.parent.end)}}function checkNodePositions(t,r){if(r){var n=t.pos;forEachChild(t,(function(t){e.Debug.assert(t.pos>=n);n=t.end}));e.Debug.assert(n<=t.end)}}function updateTokenPositionsAndMarkElements(t,r,n,a,i,o,s,c){visitNode(t);return;function visitNode(t){e.Debug.assert(t.pos<=t.end);if(t.pos>n)moveElementEntirelyPastChangeRange(t,false,i,o,s,c);else{var l=t.end;if(l>=r){t.intersectsChange=true;t._children=void 0;adjustIntersectingElement(t,r,n,a,i);forEachChild(t,visitNode,visitArray);checkNodePositions(t,c)}else e.Debug.assert(ln)moveElementEntirelyPastChangeRange(t,true,i,o,s,c);else{var l=t.end;if(l>=r){t.intersectsChange=true;t._children=void 0;adjustIntersectingElement(t,r,n,a,i);for(var u=0,_=t;u<_.length;u++){var d=_[u];visitNode(d)}}else e.Debug.assert(l0&&i<=n;i++){var o=findNearestNodeStartingBeforeOrAtPosition(t,a);e.Debug.assert(o.pos<=a);var s=o.pos;a=Math.max(0,s-1)}var c=e.createTextSpanFromBounds(a,e.textSpanEnd(r.span));var l=r.newLength+(r.span.start-a);return e.createTextChangeRange(c,l)}function findNearestNodeStartingBeforeOrAtPosition(t,r){var n=t;var a;forEachChild(t,visit);if(a){var i=getLastChild(a);i.pos>n.pos&&(n=i)}return n;function getLastChild(e){while(true){var t=getLastChildWorker(e);if(!t)return e;e=t}}function getLastChildWorker(t){var r=void 0;forEachChild(t,(function(t){e.nodeIsPresent(t)&&(r=t)}));return r}function visit(t){if(!e.nodeIsMissing(t)){if(!(t.pos<=r)){e.Debug.assert(t.pos>r);return true}t.pos>=n.pos&&(n=t);if(r=t.pos&&e=t.pos&&e0){var s=i.declarationList.declarations[0].name;69===s.kind&&(o=s.text)}return o}}function getDisplayName(t){return t.name?e.declarationNameToString(t.name):getDeclarationName(t)}function declareSymbol(r,n,a,i,o){e.Debug.assert(!e.hasDynamicName(a));var s=512&a.flags;var c=s&&n?"default":getDeclarationName(a);var l;if(void 0!==c){l=e.hasProperty(r,c)?r[c]:r[c]=createSymbol(0,c);c&&788448&i&&(k[c]=c);if(l.flags&o){a.name&&(a.name.parent=a);var u=2&l.flags?e.Diagnostics.Cannot_redeclare_block_scoped_variable_0:e.Diagnostics.Duplicate_identifier_0;e.forEach(l.declarations,(function(t){512&t.flags&&(u=e.Diagnostics.A_module_cannot_have_multiple_default_exports)}));e.forEach(l.declarations,(function(r){t.bindDiagnostics.push(e.createDiagnosticForNode(r.name||r,u,getDisplayName(r)))}));t.bindDiagnostics.push(e.createDiagnosticForNode(a.name||a,u,getDisplayName(a)));l=createSymbol(0,c)}}else l=createSymbol(0,"__missing");addDeclarationToSymbol(l,a,i);l.parent=n;return l}function declareModuleMember(t,r,n){var a=1&e.getCombinedNodeFlags(t);if(8388608&r)return 238===t.kind||229===t.kind&&a?declareSymbol(i.symbol.exports,i.symbol,t,r,n):declareSymbol(i.locals,void 0,t,r,n);if(!e.isAmbientModule(t)&&(a||8192&i.flags)){var o=(107455&r?1048576:0)|(793056&r?2097152:0)|(1536&r?4194304:0);var s=declareSymbol(i.locals,void 0,t,o,n);s.exportSymbol=declareSymbol(i.symbol.exports,i.symbol,t,r,n);t.localSymbol=s;return s}return declareSymbol(i.locals,void 0,t,r,n)}function bindContainer(t,r){var n=i;var a=o;if(1&r){i=o=t;32&r&&(i.locals={});addToContainerChain(i)}else if(2&r){o=t;o.locals=void 0}if(4&r){var s=l;var p=u;var m=_;var g=d;var v=f;var b=y;var T=16&r&&!!e.getImmediatelyInvokedFunctionExpression(t);if(T)d=createBranchLabel();else{l={flags:2};16&r&&(l.container=t);d=void 0}u=void 0;_=void 0;f=void 0;y=false;bindChildren(t);t.flags&=~4030464;if(!(1&l.flags)&&8&r&&e.nodeIsPresent(t.body)){t.flags|=32768;y&&(t.flags|=65536)}256===t.kind&&(t.flags|=h);if(T){addAntecedent(d,l);l=finishFlowLabel(d)}else l=s;u=p;_=m;d=g;f=v;y=b}else if(64&r){c=false;bindChildren(t);t.flags=c?16384|t.flags:~16384&t.flags}else bindChildren(t);i=n;o=a}function bindChildren(t){if(e.isInJavaScriptFile(t)&&t.jsDocComments)for(var r=0,n=t.jsDocComments;r=106&&r.originalKeywordKind<=114&&!e.isIdentifierName(r)&&!e.isInAmbientContext(r)&&(t.parseDiagnostics.length||t.bindDiagnostics.push(e.createDiagnosticForNode(r,getStrictModeIdentifierMessage(r),e.declarationNameToString(r))))}function getStrictModeIdentifierMessage(r){return e.getContainingClass(r)?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:e.Diagnostics.Identifier_expected_0_is_a_reserved_word_in_strict_mode}function checkStrictModeBinaryExpression(t){v&&e.isLeftHandSideExpression(t.left)&&e.isAssignmentOperator(t.operatorToken.kind)&&checkStrictModeEvalOrArguments(t,t.left)}function checkStrictModeCatchClause(e){v&&e.variableDeclaration&&checkStrictModeEvalOrArguments(e,e.variableDeclaration.name)}function checkStrictModeDeleteExpression(r){if(v&&69===r.expression.kind){var n=e.getErrorSpanForNode(t,r.expression);t.bindDiagnostics.push(e.createFileDiagnostic(t,n.start,n.length,e.Diagnostics.delete_cannot_be_called_on_an_identifier_in_strict_mode))}}function isEvalOrArgumentsIdentifier(e){return 69===e.kind&&("eval"===e.text||"arguments"===e.text)}function checkStrictModeEvalOrArguments(r,n){if(n&&69===n.kind){var a=n;if(isEvalOrArgumentsIdentifier(a)){var i=e.getErrorSpanForNode(t,n);t.bindDiagnostics.push(e.createFileDiagnostic(t,i.start,i.length,getStrictModeEvalOrArgumentsMessage(r),a.text))}}}function getStrictModeEvalOrArgumentsMessage(r){return e.getContainingClass(r)?e.Diagnostics.Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Invalid_use_of_0_Modules_are_automatically_in_strict_mode:e.Diagnostics.Invalid_use_of_0_in_strict_mode}function checkStrictModeFunctionName(e){v&&checkStrictModeEvalOrArguments(e,e.name)}function getStrictModeBlockScopeFunctionDeclarationMessage(r){return e.getContainingClass(r)?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode:t.externalModuleIndicator?e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode:e.Diagnostics.Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5}function checkStrictModeFunctionDeclaration(r){if(n<2&&256!==o.kind&&225!==o.kind&&!e.isFunctionLike(o)){var a=e.getErrorSpanForNode(t,r);t.bindDiagnostics.push(e.createFileDiagnostic(t,a.start,a.length,getStrictModeBlockScopeFunctionDeclarationMessage(r)))}}function checkStrictModeNumericLiteral(r){v&&r.isOctalLiteral&&t.bindDiagnostics.push(e.createDiagnosticForNode(r,e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode))}function checkStrictModePostfixUnaryExpression(e){v&&checkStrictModeEvalOrArguments(e,e.operand)}function checkStrictModePrefixUnaryExpression(e){v&&(41!==e.operator&&42!==e.operator||checkStrictModeEvalOrArguments(e,e.operand))}function checkStrictModeWithStatement(t){v&&errorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)}function errorOnFirstToken(r,n,a,i,o){var s=e.getSpanOfTokenAtPosition(t,r.pos);t.bindDiagnostics.push(e.createFileDiagnostic(t,s.start,s.length,n,a,i,o))}function getDestructuringParameterName(t){return"__"+e.indexOf(t.parent.parameters,t)}function bind(e){if(e){e.parent=a;var t=v;bindWorker(e);if(e.kind>138){var r=a;a=e;var n=getContainerFlags(e);0===n?bindChildren(e):bindContainer(e,n);a=r}v=t}}function updateStrictModeStatementList(t){if(!v)for(var r=0,n=t;r1)}function addToSymbolTable(t,r,n){for(var a in r)e.hasProperty(r,a)&&(e.hasProperty(t,a)?e.forEach(t[a].declarations,addDeclarationDiagnostic(a,n)):t[a]=r[a]);function addDeclarationDiagnostic(t,r){return function(n){return Ue.add(e.createDiagnosticForNode(n,r,t))}}}function getSymbolLinks(e){if(67108864&e.flags)return e;var t=getSymbolId(e);return Ie[t]||(Ie[t]={})}function getNodeLinks(e){var t=getNodeId(e);return Re[t]||(Re[t]={})}function isGlobalSourceFile(t){return 256===t.kind&&!e.isExternalOrCommonJsModule(t)}function getSymbol(t,r,n){if(n&&e.hasProperty(t,r)){var a=t[r];e.Debug.assert(0===(16777216&a.flags),"Should never get an instantiated symbol here.");if(a.flags&n)return a;if(8388608&a.flags){var i=resolveAlias(a);if(i===S||i.flags&n)return a}}}function getSymbolsOfParameterPropertyDeclaration(t,r){var n=t.parent;var a=t.parent.parent;var i=getSymbol(n.locals,r,107455);var o=getSymbol(a.symbol.members,r,107455);if(i&&o)return[i,o];e.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}function isBlockScopedNameDeclaredBeforeUse(r,n){var a=e.getSourceFileOfNode(r);var i=e.getSourceFileOfNode(n);if(a!==i){if(g&&(a.externalModuleIndicator||i.externalModuleIndicator)||!p.outFile&&!p.out)return true;var o=t.getSourceFiles();return e.indexOf(o,a)<=e.indexOf(o,i)}return r.pos<=n.pos?218!==r.kind||!isImmediatelyUsedInInitializerOfBlockScopedVariable(r,n):isUsedInFunctionOrNonStaticProperty(r,n);function isImmediatelyUsedInInitializerOfBlockScopedVariable(t,r){var n=e.getEnclosingBlockScopeContainer(t);switch(t.parent.parent.kind){case 200:case 206:case 208:if(isSameScopeDescendentOf(r,t,n))return true;break}switch(t.parent.parent.kind){case 207:case 208:if(isSameScopeDescendentOf(r,t.parent.parent.expression,n))return true}return false}function isUsedInFunctionOrNonStaticProperty(t,r){var n=e.getEnclosingBlockScopeContainer(t);var a=r;while(a){if(a===n)return false;if(e.isFunctionLike(a))return true;var i=a.parent&&145===a.parent.kind&&0===(32&a.parent.flags)&&a.parent.initializer===a;if(i)return true;a=a.parent}return false}}function resolveName(t,r,n,a,i){var o;var s;var c;var l=t;var u;var _=false;e:while(t){if(t.locals&&!isGlobalSourceFile(t)&&(o=getSymbol(t.locals,r,n))){var d=true;if(e.isFunctionLike(t)&&s&&s!==t.body){n&o.flags&793056&&273!==s.kind&&(d=!!(262144&o.flags)&&(s===t.type||142===s.kind||141===s.kind));107455&n&&1&o.flags&&(d=142===s.kind||s===t.type&&142===o.valueDeclaration.kind)}if(d)break e;o=void 0}switch(t.kind){case 256:if(!e.isExternalOrCommonJsModule(t))break;_=true;case 225:var p=getSymbolOfNode(t).exports;if(256===t.kind||e.isAmbientModule(t)){if(o=p["default"]){var m=e.getLocalSymbolForExportDefault(o);if(m&&o.flags&n&&m.name===r)break e;o=void 0}if(e.hasProperty(p,r)&&8388608===p[r].flags&&e.getDeclarationOfKind(p[r],238))break}if(o=getSymbol(p,r,8914931&n))break e;break;case 224:if(o=getSymbol(getSymbolOfNode(t).exports,r,8&n))break e;break;case 145:case 144:if(e.isClassLike(t.parent)&&!(32&t.flags)){var g=findConstructorDeclaration(t.parent);g&&g.locals&&getSymbol(g.locals,r,107455&n)&&(c=t)}break;case 221:case 192:case 222:if(o=getSymbol(getSymbolOfNode(t).members,r,793056&n)){if(s&&32&s.flags){error(l,e.Diagnostics.Static_members_cannot_reference_class_type_parameters);return}break e}if(192===t.kind&&32&n){var y=t.name;if(y&&r===y.text){o=t.symbol;break e}}break;case 140:u=t.parent.parent;if((e.isClassLike(u)||222===u.kind)&&(o=getSymbol(getSymbolOfNode(u).members,r,793056&n))){error(l,e.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);return}break;case 147:case 146:case 148:case 149:case 150:case 220:case 180:if(3&n&&"arguments"===r){o=T;break e}break;case 179:if(3&n&&"arguments"===r){o=T;break e}if(16&n){var h=t.name;if(h&&r===h.text){o=t.symbol;break e}}break;case 143:t.parent&&142===t.parent.kind&&(t=t.parent);t.parent&&e.isClassElement(t.parent)&&(t=t.parent);break}s=t;t=t.parent}o&&a&&f&&(o.isReferenced=true);o||(o=getSymbol(U,r,n));if(o){if(a){if(c){var v=c.name;error(l,e.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,e.declarationNameToString(v),"string"===typeof i?i:e.declarationNameToString(i));return}if(2&n){var b=getExportSymbolOfValueSymbolIfExported(o);2&b.flags&&checkResolvedBlockScopedVariable(b,l)}if(o&&_){var k=o.declarations;k&&1===k.length&&228===k[0].kind&&error(l,e.Diagnostics.Identifier_0_must_be_imported_from_a_module,r)}}return o}a&&(checkAndReportErrorForMissingPrefix(l,r,i)||checkAndReportErrorForExtendingInterface(l)||error(l,a,"string"===typeof i?i:e.declarationNameToString(i)))}function checkAndReportErrorForMissingPrefix(t,r,n){if(!t||69===t.kind&&isTypeReferenceIdentifier(t)||isInTypeQuery(t))return false;var a=e.getThisContainer(t,true);var i=a;while(i){if(e.isClassLike(i.parent)){var o=getSymbolOfNode(i.parent);if(!o)break;var s=getTypeOfSymbol(o);if(getPropertyOfType(s,r)){error(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,"string"===typeof n?n:e.declarationNameToString(n),symbolToString(o));return true}if(i===a&&!(32&i.flags)){var c=getDeclaredTypeOfSymbol(o).thisType;if(getPropertyOfType(c,r)){error(t,e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,"string"===typeof n?n:e.declarationNameToString(n));return true}}}i=i.parent}return false}function checkAndReportErrorForExtendingInterface(t){var r=t;while(r){var n=r.kind;if(69!==n&&172!==n){if(194===n)break;return false}r=r.parent}if(!r)return false;var a=r.expression;if(resolveEntityName(a,64,true)){error(t,e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements,e.getTextOfNode(a));return true}return false}function checkResolvedBlockScopedVariable(t,r){e.Debug.assert(0!==(2&t.flags));var n=e.forEach(t.declarations,(function(t){return e.isBlockOrCatchScoped(t)?t:void 0}));e.Debug.assert(void 0!==n,"Block-scoped variable declaration is undefined");isBlockScopedNameDeclaredBeforeUse(e.getAncestor(n,218),r)||error(r,e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,e.declarationNameToString(n.name))}function isSameScopeDescendentOf(t,r,n){if(!r)return false;for(var a=t;a&&a!==n&&!e.isFunctionLike(a);a=a.parent)if(a===r)return true;return false}function getAnyImportSyntax(t){if(e.isAliasSymbolDeclaration(t)){if(229===t.kind)return t;while(t&&230!==t.kind)t=t.parent;return t}}function getDeclarationOfAliasSymbol(t){return e.forEach(t.declarations,(function(t){return e.isAliasSymbolDeclaration(t)?t:void 0}))}function getTargetOfImportEqualsDeclaration(t){return 240===t.moduleReference.kind?resolveExternalModuleSymbol(resolveExternalModuleName(t,e.getExternalModuleImportEqualsDeclarationExpression(t))):getSymbolOfPartOfRightHandSideOfImportEquals(t.moduleReference,t)}function getTargetOfImportClause(t){var r=resolveExternalModuleName(t,t.parent.moduleSpecifier);if(r){var n=e.isShorthandAmbientModule(r.valueDeclaration)?r:r.exports["export="]?getPropertyOfType(getTypeOfSymbol(r.exports["export="]),"default"):resolveSymbol(r.exports["default"]);if(n||y){if(!n&&y)return resolveExternalModuleSymbol(r)||resolveSymbol(r)}else error(t.name,e.Diagnostics.Module_0_has_no_default_export,symbolToString(r));return n}}function getTargetOfNamespaceImport(e){var t=e.parent.parent.moduleSpecifier;return resolveESModuleSymbol(resolveExternalModuleName(e,t),t)}function combineValueAndTypeSymbols(t,r){if(t.flags&(793056|1536))return t;var n=createSymbol(t.flags|r.flags,t.name);n.declarations=e.concatenate(t.declarations,r.declarations);n.parent=t.parent||r.parent;t.valueDeclaration&&(n.valueDeclaration=t.valueDeclaration);r.members&&(n.members=r.members);t.exports&&(n.exports=t.exports);return n}function getExportOfModule(t,r){if(1536&t.flags){var n=getExportsOfSymbol(t);if(e.hasProperty(n,r))return resolveSymbol(n[r])}}function getPropertyOfVariable(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return resolveSymbol(getPropertyOfType(getTypeFromTypeNode(r),t))}}function getExternalModuleMember(t,r){var n=resolveExternalModuleName(t,t.moduleSpecifier);var a=resolveESModuleSymbol(n,t.moduleSpecifier);if(a){var i=r.propertyName||r.name;if(i.text){if(e.isShorthandAmbientModule(n.valueDeclaration))return n;var o=void 0;o=n&&n.exports&&n.exports["export="]?getPropertyOfType(getTypeOfSymbol(a),i.text):getPropertyOfVariable(a,i.text);o=resolveSymbol(o);var s=getExportOfModule(a,i.text);var c=s&&o?combineValueAndTypeSymbols(o,s):s||o;c||error(i,e.Diagnostics.Module_0_has_no_exported_member_1,getFullyQualifiedName(n),e.declarationNameToString(i));return c}}}function getTargetOfImportSpecifier(e){return getExternalModuleMember(e.parent.parent.parent,e)}function getTargetOfNamespaceExportDeclaration(e){return resolveExternalModuleSymbol(e.parent.symbol)}function getTargetOfExportSpecifier(e){return e.parent.parent.moduleSpecifier?getExternalModuleMember(e.parent.parent,e):resolveEntityName(e.propertyName||e.name,107455|793056|1536)}function getTargetOfExportAssignment(e){return resolveEntityName(e.expression,107455|793056|1536)}function getTargetOfAliasDeclaration(e){switch(e.kind){case 229:return getTargetOfImportEqualsDeclaration(e);case 231:return getTargetOfImportClause(e);case 232:return getTargetOfNamespaceImport(e);case 234:return getTargetOfImportSpecifier(e);case 238:return getTargetOfExportSpecifier(e);case 235:return getTargetOfExportAssignment(e);case 228:return getTargetOfNamespaceExportDeclaration(e)}}function resolveSymbol(e){return e&&8388608&e.flags&&!(e.flags&(107455|793056|1536))?resolveAlias(e):e}function resolveAlias(t){e.Debug.assert(0!==(8388608&t.flags),"Should only get Alias here.");var r=getSymbolLinks(t);if(r.target)r.target===x&&(r.target=S);else{r.target=x;var n=getDeclarationOfAliasSymbol(t);var a=getTargetOfAliasDeclaration(n);r.target===x?r.target=a||S:error(n,e.Diagnostics.Circular_definition_of_import_alias_0,symbolToString(t))}return r.target}function markExportAsReferenced(e){var t=getSymbolOfNode(e);var r=resolveAlias(t);if(r){var n=r===S||107455&r.flags&&!isConstEnumOrConstEnumOnlyModule(r);n&&markAliasSymbolAsReferenced(t)}}function markAliasSymbolAsReferenced(t){var r=getSymbolLinks(t);if(!r.referenced){r.referenced=true;var n=getDeclarationOfAliasSymbol(t);235===n.kind?checkExpressionCached(n.expression):238===n.kind?checkExpressionCached(n.propertyName||n.name):e.isInternalModuleImportEqualsDeclaration(n)&&checkExpressionCached(n.moduleReference)}}function getSymbolOfPartOfRightHandSideOfImportEquals(t,r,n){69===t.kind&&e.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent);if(69===t.kind||139===t.parent.kind)return resolveEntityName(t,1536,false,n);e.Debug.assert(229===t.parent.kind);return resolveEntityName(t,107455|793056|1536,false,n)}function getFullyQualifiedName(e){return e.parent?getFullyQualifiedName(e.parent)+"."+symbolToString(e):symbolToString(e)}function resolveEntityName(t,r,n,a){if(!e.nodeIsMissing(t)){var i;if(69===t.kind){var o=1536===r?e.Diagnostics.Cannot_find_namespace_0:e.Diagnostics.Cannot_find_name_0;i=resolveName(t,t.text,r,n?void 0:o,t);if(!i)return}else if(139===t.kind||172===t.kind){var s=139===t.kind?t.left:t.expression;var c=139===t.kind?t.right:t.name;var l=resolveEntityName(s,1536,n);if(!l||e.nodeIsMissing(c))return;if(l===S)return l;i=getSymbol(getExportsOfSymbol(l),c.text,r);if(!i){n||error(c,e.Diagnostics.Module_0_has_no_exported_member_1,getFullyQualifiedName(l),e.declarationNameToString(c));return}}else e.Debug.fail("Unknown entity name kind.");e.Debug.assert(0===(16777216&i.flags),"Should never get an instantiated symbol here.");return i.flags&r||a?i:resolveAlias(i)}}function resolveExternalModuleName(t,r){return resolveExternalModuleNameWorker(t,r,e.Diagnostics.Cannot_find_module_0)}function resolveExternalModuleNameWorker(r,n,a){if(9===n.kind){var i=n;var o=e.escapeIdentifier(i.text);if(void 0!==o){var s=e.isExternalModuleNameRelative(o);if(!s){var c=getSymbol(U,'"'+o+'"',512);if(c)return getMergedSymbol(c)}var l=e.getResolvedModule(e.getSourceFileOfNode(r),i.text);var u=l&&t.getSourceFile(l.resolvedFileName);if(u){if(u.symbol)return getMergedSymbol(u.symbol);a&&error(i,e.Diagnostics.File_0_is_not_a_module,u.fileName)}else{if(V){var _=e.findBestPatternMatch(V,(function(e){return e.pattern}),o);if(_)return getMergedSymbol(_.symbol)}a&&error(i,a,o)}}}}function resolveExternalModuleSymbol(e){return e&&getMergedSymbol(resolveSymbol(e.exports["export="]))||e}function resolveESModuleSymbol(t,r){var n=resolveExternalModuleSymbol(t);if(n&&!(n.flags&(1536|3))){error(r,e.Diagnostics.Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct,symbolToString(t));n=void 0}return n}function hasExportAssignmentSymbol(e){return void 0!==e.exports["export="]}function getExportsOfModuleAsArray(e){return symbolsToArray(getExportsOfModule(e))}function getExportsOfSymbol(e){return 1536&e.flags?getExportsOfModule(e):e.exports||d}function getExportsOfModule(e){var t=getSymbolLinks(e);return t.resolvedExports||(t.resolvedExports=getExportsForModule(e))}function extendExportSymbols(t,r,n,a){for(var i in r)if("default"===i||e.hasProperty(t,i))n&&a&&"default"!==i&&e.hasProperty(t,i)&&resolveSymbol(t[i])!==resolveSymbol(r[i])&&(n[i].exportsWithDuplicate?n[i].exportsWithDuplicate.push(a):n[i].exportsWithDuplicate=[a]);else{t[i]=r[i];n&&a&&(n[i]={specifierText:e.getTextOfNode(a.moduleSpecifier)})}}function getExportsForModule(t){var r=[];return visit(t)||t.exports;function visit(t){if(t&&1952&t.flags&&!e.contains(r,t)){r.push(t);var n=cloneSymbolTable(t.exports);var a=t.exports["__export"];if(a){var i={};var o={};for(var s=0,c=a.declarations;s=o&&(i=i.substr(0,o-"...".length)+"...");return i}function typePredicateToString(t,r,n){var a=e.getSingleLineStringWriter();getSymbolDisplayBuilder().buildTypePredicateDisplay(t,a,r,n);var i=a.string();e.releaseStringWriter(a);return i}function visibilityToString(e){return 8===e?"private":16===e?"protected":"public"}function getTypeAliasForTypeLiteral(e){if(e.symbol&&2048&e.symbol.flags){var t=e.symbol.declarations[0].parent;while(164===t.kind)t=t.parent;if(223===t.kind)return getSymbolOfNode(t)}}function isTopLevelInExternalModuleAugmentation(t){return t&&t.parent&&226===t.parent.kind&&e.isExternalModuleAugmentation(t.parent.parent)}function getSymbolDisplayBuilder(){function getNameOfSymbol(t){if(t.declarations&&t.declarations.length){var r=t.declarations[0];if(r.name)return e.declarationNameToString(r.name);switch(r.kind){case 192:return"(Anonymous class)";case 179:case 180:return"(Anonymous function)"}}return t.name}function appendSymbolNameOnly(e,t){t.writeSymbol(getNameOfSymbol(e),e)}function appendPropertyOrElementAccessForSymbol(t,r){var n=getNameOfSymbol(t);var a=n.charCodeAt(0);var i=!e.isIdentifierStart(a,m);if(i){writePunctuation(r,19);e.isSingleOrDoubleQuote(a)?r.writeStringLiteral(n):r.writeSymbol(n,t);writePunctuation(r,20)}else{writePunctuation(r,21);r.writeSymbol(n,t)}}function buildSymbolDisplay(t,r,n,a,i,o){var s;function appendParentTypeArgumentsAndSymbolName(e){if(s){1&i&&(16777216&e.flags?buildDisplayForTypeArgumentsAndDelimiters(getTypeParametersOfClassOrInterface(s),e.mapper,r,n):buildTypeParameterDisplayFromSymbol(s,r,n));appendPropertyOrElementAccessForSymbol(e,r)}else appendSymbolNameOnly(e,r);s=e}r.trackSymbol(t,n,a);function walkSymbol(t,r){if(t){var a=getAccessibleSymbolChain(t,n,r,!!(2&i));a&&!needsQualification(a[0],n,1===a.length?r:getQualifiedLeftMeaning(r))||walkSymbol(getParentOfSymbol(a?a[0]:t),getQualifiedLeftMeaning(r));if(a)for(var o=0,c=a;o0){24!==t&&writeSpace(r);writePunctuation(r,t);writeSpace(r)}writeType(e[n],24===t?0:64)}}function writeSymbolTypeReference(e,t,a,i,o){(32&e.flags||!isReservedMemberName(e.name))&&buildSymbolDisplay(e,r,n,793056,0,o);if(a0){writePunctuation(t,24);writeSpace(t)}r(e[n])}}function buildDisplayForTypeArgumentsAndDelimiters(e,t,r,n,a,i){if(e&&e.length){writePunctuation(r,25);var o=256;for(var s=0;s0){writePunctuation(r,24);writeSpace(r);o=0}buildTypeDisplay(t(e[s]),r,n,o)}writePunctuation(r,27)}}function buildDisplayForParametersAndDelimiters(e,t,r,n,a,i){writePunctuation(r,17);e&&buildParameterDisplay(e,r,n,a,i);for(var o=0;o0||e){writePunctuation(r,24);writeSpace(r)}buildParameterDisplay(t[o],r,n,a,i)}writePunctuation(r,18)}function buildTypePredicateDisplay(t,r,n,a,i){e.isIdentifierTypePredicate(t)?r.writeParameter(t.parameterName):writeKeyword(r,97);writeSpace(r);writeKeyword(r,124);writeSpace(r);buildTypeDisplay(t.type,r,n,a,i)}function buildReturnTypeDisplay(e,t,r,n,a){if(8&n){writeSpace(t);writePunctuation(t,34)}else writePunctuation(t,54);writeSpace(t);if(e.typePredicate)buildTypePredicateDisplay(e.typePredicate,t,r,n,a);else{var i=getReturnTypeOfSignature(e);buildTypeDisplay(i,t,r,n,a)}}function buildSignatureDisplay(e,t,r,n,a,i){if(1===a){writeKeyword(t,92);writeSpace(t)}e.target&&32&n?buildDisplayForTypeArgumentsAndDelimiters(e.target.typeParameters,e.mapper,t,r):buildDisplayForTypeParametersAndDelimiters(e.typeParameters,t,r,n,i);buildDisplayForParametersAndDelimiters(e.thisParameter,e.parameters,t,r,n,i);buildReturnTypeDisplay(e,t,r,n,i)}return rt||(rt={buildSymbolDisplay:buildSymbolDisplay,buildTypeDisplay:buildTypeDisplay,buildTypeParameterDisplay:buildTypeParameterDisplay,buildTypePredicateDisplay:buildTypePredicateDisplay,buildParameterDisplay:buildParameterDisplay,buildDisplayForParametersAndDelimiters:buildDisplayForParametersAndDelimiters,buildDisplayForTypeParametersAndDelimiters:buildDisplayForTypeParametersAndDelimiters,buildTypeParameterDisplayFromSymbol:buildTypeParameterDisplayFromSymbol,buildSignatureDisplay:buildSignatureDisplay,buildReturnTypeDisplay:buildReturnTypeDisplay})}function isDeclarationVisible(t){if(t){var r=getNodeLinks(t);void 0===r.isVisible&&(r.isVisible=!!determineIfDeclarationIsVisible());return r.isVisible}return false;function determineIfDeclarationIsVisible(){switch(t.kind){case 169:return isDeclarationVisible(t.parent.parent);case 218:if(e.isBindingPattern(t.name)&&!t.name.elements.length)return false;case 225:case 221:case 222:case 223:case 220:case 224:case 229:if(e.isExternalModuleAugmentation(t))return true;var r=getDeclarationContainer(t);return 1&e.getCombinedNodeFlags(t)||229!==t.kind&&256!==r.kind&&e.isInAmbientContext(r)?isDeclarationVisible(r):isGlobalSourceFile(r);case 145:case 144:case 149:case 150:case 147:case 146:if(t.flags&(8|16))return false;case 148:case 152:case 151:case 153:case 142:case 226:case 156:case 157:case 159:case 155:case 160:case 161:case 162:case 163:case 164:return isDeclarationVisible(t.parent);case 231:case 232:case 234:return false;case 141:case 256:return true;case 235:return false;default:return false}}}function collectLinkedAliases(t){var r;if(t.parent&&235===t.parent.kind)r=resolveName(t.parent,t.text,107455|793056|1536|8388608,e.Diagnostics.Cannot_find_name_0,t);else if(238===t.parent.kind){var n=t.parent;r=n.parent.parent.moduleSpecifier?getExternalModuleMember(n.parent.parent,n):resolveEntityName(n.propertyName||n.name,107455|793056|1536|8388608)}var a=[];r&&buildVisibleNodeList(r.declarations);return a;function buildVisibleNodeList(t){e.forEach(t,(function(t){getNodeLinks(t).isVisible=true;var r=getAnyImportSyntax(t)||t;e.contains(a,r)||a.push(r);if(e.isInternalModuleImportEqualsDeclaration(t)){var n=t.moduleReference;var i=getFirstIdentifier(n);var o=resolveName(t,i.text,107455|793056|1536,void 0,void 0);o&&buildVisibleNodeList(o.declarations)}}))}}function pushTypeResolution(e,t){var r=findResolutionCycleStartIndex(e,t);if(r>=0){var n=Ae.length;for(var a=r;a=0;r--){if(hasType(Ae[r],Fe[r]))return-1;if(Ae[r]===e&&Fe[r]===t)return r}return-1}function hasType(t,r){if(0===r)return getSymbolLinks(t).type;if(2===r)return getSymbolLinks(t).declaredType;if(1===r){e.Debug.assert(!!(1024&t.flags));return t.resolvedBaseConstructorType}if(3===r)return t.resolvedReturnType;e.Debug.fail("Unhandled TypeSystemPropertyName "+r)}function popTypeResolution(){Ae.pop();Fe.pop();return Pe.pop()}function getDeclarationContainer(t){t=e.getRootDeclaration(t);while(t)switch(t.kind){case 218:case 219:case 234:case 233:case 232:case 231:t=t.parent;break;default:return t.parent}}function getTypeOfPrototypeProperty(t){var r=getDeclaredTypeOfSymbol(getParentOfSymbol(t));return r.typeParameters?createTypeReference(r,e.map(r.typeParameters,(function(e){return C}))):r}function getTypeOfPropertyOfType(e,t){var r=getPropertyOfType(e,t);return r?getTypeOfSymbol(r):void 0}function isTypeAny(e){return e&&0!==(1&e.flags)}function isTypeNever(e){return e&&0!==(134217728&e.flags)}function getTypeForBindingElementParent(e){var t=getSymbolOfNode(e);return t&&getSymbolLinks(t).type||getTypeForVariableLikeDeclaration(e,false)}function getTextOfPropertyName(t){switch(t.kind){case 69:return t.text;case 9:case 8:return t.text;case 140:if(e.isStringOrNumericLiteral(t.expression.kind))return t.expression.text}}function isComputedNonLiteralName(t){return 140===t.kind&&!e.isStringOrNumericLiteral(t.expression.kind)}function getTypeForBindingElement(t){var r=t.parent;var n=getTypeForBindingElementParent(r.parent);if(n===R)return R;if(!n||isTypeAny(n))return t.initializer?checkExpressionCached(t.initializer):n;var a;if(167===r.kind){var i=t.propertyName||t.name;if(isComputedNonLiteralName(i))return C;t.initializer&&getContextualType(t.initializer);var o=getTextOfPropertyName(i);a=getTypeOfPropertyOfType(n,o)||isNumericLiteralName(o)&&getIndexTypeOfType(n,1)||getIndexTypeOfType(n,0);if(!a){error(i,e.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature,typeToString(n),e.declarationNameToString(i));return R}}else{var s=checkIteratedTypeOrElementType(n,r,false);if(t.dotDotDotToken)a=createArrayType(s);else{var c=""+e.indexOf(r.elements,t);a=isTupleLikeType(n)?getTypeOfPropertyOfType(n,c):s;if(!a){isTupleType(n)?error(t,e.Diagnostics.Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2,typeToString(n),n.elementTypes.length,r.elements.length):error(t,e.Diagnostics.Type_0_has_no_property_1,typeToString(n),c);return R}}}!h||!t.initializer||32&getCombinedTypeFlags(checkExpressionCached(t.initializer))||(a=getTypeWithFacts(a,131072));return a}function getTypeForVariableLikeDeclarationFromJSDocComment(e){var t=getJSDocTypeForVariableLikeDeclarationFromJSDocComment(e);if(t)return getTypeFromTypeNode(t)}function getJSDocTypeForVariableLikeDeclarationFromJSDocComment(t){var r=e.getJSDocTypeTag(t);if(r&&r.typeExpression)return r.typeExpression.type;if(218===t.kind&&219===t.parent.kind&&200===t.parent.parent.kind){var n=e.getJSDocTypeTag(t.parent.parent);if(n&&n.typeExpression)return n.typeExpression.type}else if(142===t.kind){var a=e.getCorrespondingJSDocParameterTag(t);if(a&&a.typeExpression)return a.typeExpression.type}}function addOptionality(e,t){return h&&t?addTypeKind(e,32):e}function getTypeForVariableLikeDeclaration(t,r){if(134217728&t.flags){var n=getTypeForVariableLikeDeclarationFromJSDocComment(t);if(n&&n!==R)return n}if(207===t.parent.parent.kind)return D;if(208===t.parent.parent.kind)return checkRightHandSideOfForOf(t.parent.parent.expression)||C;if(e.isBindingPattern(t.parent))return getTypeForBindingElement(t);if(t.type)return addOptionality(getTypeFromTypeNode(t.type),t.questionToken&&r);if(142===t.kind){var a=t.parent;if(150===a.kind&&!e.hasDynamicName(a)){var i=e.getDeclarationOfKind(t.parent.symbol,149);if(i){var o=getSignatureFromDeclaration(i);var s=getAccessorThisParameter(a);if(s&&t===s){e.Debug.assert(!s.type);return getTypeOfSymbol(o.thisParameter)}return getReturnTypeOfSignature(o)}}var n="this"===t.symbol.name?getContextuallyTypedThisType(a):getContextuallyTypedParameterType(t);if(n)return addOptionality(n,t.questionToken&&r)}return t.initializer?addOptionality(checkExpressionCached(t.initializer),t.questionToken&&r):254===t.kind?checkIdentifier(t.name):e.isBindingPattern(t.name)?getTypeFromBindingPattern(t.name,false):void 0}function getTypeFromBindingElement(t,r){if(t.initializer){var n=checkExpressionCached(t.initializer);reportErrorsFromWidening(t,n);return getWidenedType(n)}if(e.isBindingPattern(t.name))return getTypeFromBindingPattern(t.name,r);p.noImplicitAny&&!declarationBelongsToPrivateAmbientMember(t)&&reportImplicitAnyError(t,C);return C}function getTypeFromObjectBindingPattern(t,r){var n={};var a=false;e.forEach(t.elements,(function(e){var t=e.propertyName||e.name;if(isComputedNonLiteralName(t))a=true;else{var i=getTextOfPropertyName(t);var o=4|67108864|(e.initializer?536870912:0);var s=createSymbol(o,i);s.type=getTypeFromBindingElement(e,r);s.bindingElement=e;n[s.name]=s}}));var i=createAnonymousType(void 0,n,_,_,void 0,void 0);r&&(i.pattern=t);a&&(i.flags|=67108864);return i}function getTypeFromArrayBindingPattern(t,r){var n=t.elements;if(0===n.length||n[n.length-1].dotDotDotToken)return m>=2?createIterableType(C):re;var a=e.map(n,(function(e){return 193===e.kind?C:getTypeFromBindingElement(e,r)}));if(r){var i=createNewTupleType(a);i.pattern=t;return i}return createTupleType(a)}function getTypeFromBindingPattern(e,t){return 167===e.kind?getTypeFromObjectBindingPattern(e,t):getTypeFromArrayBindingPattern(e,t)}function getWidenedTypeForVariableLikeDeclaration(e,t){var r=getTypeForVariableLikeDeclaration(e,true);if(r){t&&reportErrorsFromWidening(e,r);return 253===e.kind?r:getWidenedType(r)}r=e.dotDotDotToken?re:C;t&&p.noImplicitAny&&(declarationBelongsToPrivateAmbientMember(e)||reportImplicitAnyError(e,r));return r}function declarationBelongsToPrivateAmbientMember(t){var r=e.getRootDeclaration(t);var n=142===r.kind?r.parent:r;return isPrivateWithinAmbient(n)}function getTypeOfVariableOrParameterOrProperty(t){var r=getSymbolLinks(t);if(!r.type){if(134217728&t.flags)return r.type=getTypeOfPrototypeProperty(t);var n=t.valueDeclaration;if(252===n.parent.kind)return r.type=C;if(235===n.kind)return r.type=checkExpression(n.expression);if(!pushTypeResolution(t,0))return R;var a=void 0;187===n.kind?a=getUnionType(e.map(t.declarations,(function(e){return checkExpressionCached(e.right)}))):172===n.kind&&187===n.parent.kind&&(a=checkExpressionCached(n.parent.right));void 0===a&&(a=getWidenedTypeForVariableLikeDeclaration(n,true));if(!popTypeResolution())if(t.valueDeclaration.type){a=R;error(t.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,symbolToString(t))}else{a=C;p.noImplicitAny&&error(t.valueDeclaration,e.Diagnostics._0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer,symbolToString(t))}r.type=a}return r.type}function getAnnotatedAccessorType(t){if(t){if(149===t.kind)return t.type&&getTypeFromTypeNode(t.type);var r=e.getSetAccessorTypeAnnotationNode(t);return r&&getTypeFromTypeNode(r)}}function getAnnotatedAccessorThisParameter(e){var t=getAccessorThisParameter(e);return t&&t.symbol}function getThisTypeOfDeclaration(e){return getThisTypeOfSignature(getSignatureFromDeclaration(e))}function getTypeOfAccessors(t){var r=getSymbolLinks(t);if(!r.type){var n=e.getDeclarationOfKind(t,149);var a=e.getDeclarationOfKind(t,150);if(n&&134217728&n.flags){var i=getTypeForVariableLikeDeclarationFromJSDocComment(n);if(i)return r.type=i}if(!pushTypeResolution(t,0))return R;var o=void 0;var s=getAnnotatedAccessorType(n);if(s)o=s;else{var c=getAnnotatedAccessorType(a);if(c)o=c;else if(n&&n.body)o=getReturnTypeFromBody(n);else{p.noImplicitAny&&error(a,e.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation,symbolToString(t));o=C}}if(!popTypeResolution()){o=C;if(p.noImplicitAny){var l=e.getDeclarationOfKind(t,149);error(l,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,symbolToString(t))}}r.type=o}return r.type}function getTypeOfFuncClassEnumModule(t){var r=getSymbolLinks(t);if(!r.type)if(225===t.valueDeclaration.kind&&e.isShorthandAmbientModule(t.valueDeclaration))r.type=C;else{var n=createObjectType(65536,t);r.type=h&&536870912&t.flags?addTypeKind(n,32):n}return r.type}function getTypeOfEnumMember(e){var t=getSymbolLinks(e);t.type||(t.type=getDeclaredTypeOfEnum(getParentOfSymbol(e)));return t.type}function getTypeOfAlias(e){var t=getSymbolLinks(e);if(!t.type){var r=resolveAlias(e);t.type=107455&r.flags?getTypeOfSymbol(r):R}return t.type}function getTypeOfInstantiatedSymbol(e){var t=getSymbolLinks(e);t.type||(t.type=instantiateType(getTypeOfSymbol(t.target),t.mapper));return t.type}function getTypeOfSymbol(e){return 16777216&e.flags?getTypeOfInstantiatedSymbol(e):e.flags&(3|4)?getTypeOfVariableOrParameterOrProperty(e):e.flags&(16|8192|32|384|512)?getTypeOfFuncClassEnumModule(e):8&e.flags?getTypeOfEnumMember(e):98304&e.flags?getTypeOfAccessors(e):8388608&e.flags?getTypeOfAlias(e):R}function getTargetType(e){return 4096&e.flags?e.target:e}function hasBaseType(t,r){return check(t);function check(t){var n=getTargetType(t);return n===r||e.forEach(getBaseTypes(n),check)}}function appendTypeParameters(t,r){for(var n=0,a=r;n0}function getBaseTypeNodeOfClass(t){return e.getClassExtendsHeritageClauseElement(t.symbol.valueDeclaration)}function getConstructorsForTypeArguments(t,r){var n=r?r.length:0;return e.filter(getSignaturesOfType(t,1),(function(e){return(e.typeParameters?e.typeParameters.length:0)===n}))}function getInstantiatedConstructorsForTypeArguments(t,r){var n=getConstructorsForTypeArguments(t,r);if(r){var a=e.map(r,getTypeFromTypeNode);n=e.map(n,(function(e){return getSignatureInstantiation(e,a)}))}return n}function getBaseConstructorTypeOfClass(t){if(!t.resolvedBaseConstructorType){var r=getBaseTypeNodeOfClass(t);if(!r)return t.resolvedBaseConstructorType=P;if(!pushTypeResolution(t,1))return R;var n=checkExpression(r.expression);80896&n.flags&&resolveStructuredTypeMembers(n);if(!popTypeResolution()){error(t.symbol.valueDeclaration,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,symbolToString(t.symbol));return t.resolvedBaseConstructorType=R}if(n!==R&&n!==I&&!isConstructorType(n)){error(r.expression,e.Diagnostics.Type_0_is_not_a_constructor_function_type,typeToString(n));return t.resolvedBaseConstructorType=R}t.resolvedBaseConstructorType=n}return t.resolvedBaseConstructorType}function getBaseTypes(t){var r=32&t.symbol.flags;var n=64&t.symbol.flags;if(!t.resolvedBaseTypes){r||n||e.Debug.fail("type must be class or interface");r&&resolveBaseTypesOfClass(t);n&&resolveBaseTypesOfInterface(t)}return t.resolvedBaseTypes}function resolveBaseTypesOfClass(t){t.resolvedBaseTypes=t.resolvedBaseTypes||_;var r=getBaseConstructorTypeOfClass(t);if(80896&r.flags){var n=getBaseTypeNodeOfClass(t);var a;var i=r&&r.symbol?getDeclaredTypeOfSymbol(r.symbol):void 0;if(r.symbol&&32&r.symbol.flags&&areAllOuterTypeParametersApplied(i))a=getTypeFromClassOrInterfaceReference(n,r.symbol);else{var o=getInstantiatedConstructorsForTypeArguments(r,n.typeArguments);if(!o.length){error(n.expression,e.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments);return}a=getReturnTypeOfSignature(o[0])}a!==R&&(getTargetType(a).flags&(1024|2048)?t===a||hasBaseType(a,t)?error(t.symbol.valueDeclaration,e.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,typeToString(t,void 0,1)):t.resolvedBaseTypes===_?t.resolvedBaseTypes=[a]:t.resolvedBaseTypes.push(a):error(n.expression,e.Diagnostics.Base_constructor_return_type_0_is_not_a_class_or_interface_type,typeToString(a)))}}function areAllOuterTypeParametersApplied(e){var t=e.outerTypeParameters;if(t){var r=t.length-1;var n=e.typeArguments;return t[r].symbol!==n[r].symbol}return true}function resolveBaseTypesOfInterface(t){t.resolvedBaseTypes=t.resolvedBaseTypes||_;for(var r=0,n=t.symbol.declarations;r0)return;for(var a=1;a1){u=cloneSignature(c);if(e.forEach(l,(function(e){return e.thisParameter}))){var d=getUnionType(e.map(l,(function(e){return getTypeOfSymbol(e.thisParameter)||C})));u.thisParameter=createTransientSymbol(c.thisParameter,d)}u.resolvedReturnType=void 0;u.unionSignatures=l}(a||(a=[])).push(u)}}}return a||_}function getUnionIndexInfo(e,t){var r=[];var n=false;for(var a=0,i=e;a=0);return a>=n.minArgumentCount}return false}function createTypePredicateFromTypePredicateNode(e){if(69===e.parameterName.kind){var t=e.parameterName;return{kind:1,parameterName:t?t.text:void 0,parameterIndex:t?getTypePredicateParameterIndex(e.parent.parameters,t):void 0,type:getTypeFromTypeNode(e.type)}}return{kind:0,type:getTypeFromTypeNode(e.type)}}function getSignatureFromDeclaration(t){var r=getNodeLinks(t);if(!r.resolvedSignature){var n=[];var a=false;var i=-1;var o=void 0;var s=void 0;var c=e.isJSDocConstructSignature(t);for(var l=c?1:0,u=t.parameters.length;l0&&a.body){var i=e.declarations[r-1];if(a.parent===i.parent&&a.kind===i.kind&&a.pos===i.end)break}t.push(getSignatureFromDeclaration(a))}}return t}function resolveExternalModuleTypeByLiteral(e){var t=resolveExternalModuleName(e,e);if(t){var r=resolveExternalModuleSymbol(t);if(r)return getTypeOfSymbol(r)}return C}function getThisTypeOfSignature(e){if(e.thisParameter)return getTypeOfSymbol(e.thisParameter)}function getReturnTypeOfSignature(t){if(!t.resolvedReturnType){if(!pushTypeResolution(t,3))return R;var r=void 0;r=t.target?instantiateType(getReturnTypeOfSignature(t.target),t.mapper):t.unionSignatures?getUnionType(e.map(t.unionSignatures,getReturnTypeOfSignature)):getReturnTypeFromBody(t.declaration);if(!popTypeResolution()){r=C;if(p.noImplicitAny){var n=t.declaration;n.name?error(n.name,e.Diagnostics._0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions,e.declarationNameToString(n.name)):error(n,e.Diagnostics.Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions)}}t.resolvedReturnType=r}return t.resolvedReturnType}function getRestTypeOfSignature(t){if(t.hasRestParameter){var r=getTypeOfSymbol(e.lastOrUndefined(t.parameters));if(4096&r.flags&&r.target===X)return r.typeArguments[0]}return C}function getSignatureInstantiation(e,t){return instantiateSignature(e,createTypeMapper(e.typeParameters,t),true)}function getErasedSignature(e){if(!e.typeParameters)return e;e.erasedSignatureCache||(e.erasedSignatureCache=instantiateSignature(e,createTypeEraser(e.typeParameters),true));return e.erasedSignatureCache}function getOrCreateTypeFromSignature(e){if(!e.isolatedSignatureType){var t=148===e.declaration.kind||152===e.declaration.kind;var r=createObjectType(65536|262144);r.members=d;r.properties=_;r.callSignatures=t?_:[e];r.constructSignatures=t?[e]:_;e.isolatedSignatureType=r}return e.isolatedSignatureType}function getIndexSymbol(e){return e.members["__index"]}function getIndexDeclarationOfSymbol(e,t){var r=1===t?130:132;var n=getIndexSymbol(e);if(n)for(var a=0,i=n.declarations;a0&&(t+=",");t+=e[r].id}return t}return""}function getPropagatingFlagsOfTypes(e,t){var r=0;for(var n=0,a=e;n0){t--;isSubtypeOfAny(e[t],e)&&e.splice(t,1)}}function getUnionType(e,t){if(0===e.length)return L;if(1===e.length)return e[0];var r=[];addTypesToSet(r,e,16384);if(r.containsAny)return C;if(h){r.containsNull&&r.push(w);r.containsUndefined&&r.push(P)}t||removeSubtypes(r);if(0===r.length)return r.containsNull?r.containsNonWideningType?w:I:r.containsUndefined?r.containsNonWideningType?P:F:L;if(1===r.length)return r[0];var n=getTypeListId(r);var a=Ee[n];if(!a){var i=getPropagatingFlagsOfTypes(r,96);a=Ee[n]=createObjectType(16384|i);a.types=r}return a}function getTypeFromUnionTypeNode(t){var r=getNodeLinks(t);r.resolvedType||(r.resolvedType=getUnionType(e.map(t.types,getTypeFromTypeNode),true));return r.resolvedType}function getIntersectionType(e){if(0===e.length)return M;var t=[];addTypesToSet(t,e,32768);if(t.containsAny)return C;if(h){t.containsNull&&t.push(w);t.containsUndefined&&t.push(P)}if(1===t.length)return t[0];var r=getTypeListId(t);var n=Ne[r];if(!n){var a=getPropagatingFlagsOfTypes(t,96);n=Ne[r]=createObjectType(32768|a);n.types=t}return n}function getTypeFromIntersectionTypeNode(t){var r=getNodeLinks(t);r.resolvedType||(r.resolvedType=getIntersectionType(e.map(t.types,getTypeFromTypeNode)));return r.resolvedType}function getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(e){var t=getNodeLinks(e);t.resolvedType||(t.resolvedType=createObjectType(65536,e.symbol));return t.resolvedType}function getStringLiteralTypeForText(t){if(e.hasProperty(Oe,t))return Oe[t];var r=Oe[t]=createType(256);r.text=t;return r}function getTypeFromStringLiteralTypeNode(t){var r=getNodeLinks(t);r.resolvedType||(r.resolvedType=getStringLiteralTypeForText(e.unescapeIdentifier(t.text)));return r.resolvedType}function getTypeFromJSDocVariadicType(e){var t=getNodeLinks(e);if(!t.resolvedType){var r=getTypeFromTypeNode(e.type);t.resolvedType=r?createArrayType(r):R}return t.resolvedType}function getTypeFromJSDocTupleType(t){var r=getNodeLinks(t);if(!r.resolvedType){var n=e.map(t.types,getTypeFromTypeNode);r.resolvedType=createTupleType(n)}return r.resolvedType}function getThisType(t){var r=e.getThisContainer(t,false);var n=r&&r.parent;if(n&&(e.isClassLike(n)||222===n.kind)&&!(32&r.flags)&&(148!==r.kind||e.isNodeDescendentOf(t,r.body)))return getDeclaredTypeOfClassOrInterface(getSymbolOfNode(n)).thisType;error(t,e.Diagnostics.A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface);return R}function getTypeFromThisTypeNode(e){var t=getNodeLinks(e);t.resolvedType||(t.resolvedType=getThisType(e));return t.resolvedType}function getTypeFromTypeNode(e){switch(e.kind){case 117:case 258:case 259:return C;case 132:return D;case 130:return E;case 120:return N;case 133:return O;case 103:return A;case 135:return P;case 93:return w;case 127:return L;case 165:case 97:return getTypeFromThisTypeNode(e);case 166:return getTypeFromStringLiteralTypeNode(e);case 155:case 267:return getTypeFromTypeReference(e);case 154:return N;case 194:return getTypeFromTypeReference(e);case 158:return getTypeFromTypeQueryNode(e);case 160:case 260:return getTypeFromArrayTypeNode(e);case 161:return getTypeFromTupleTypeNode(e);case 162:case 261:return getTypeFromUnionTypeNode(e);case 163:return getTypeFromIntersectionTypeNode(e);case 164:case 263:case 264:case 271:case 272:case 268:return getTypeFromTypeNode(e.type);case 156:case 157:case 159:case 281:case 269:case 265:return getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode(e);case 69:case 139:var t=getSymbolAtLocation(e);return t&&getDeclaredTypeOfSymbol(t);case 262:return getTypeFromJSDocTupleType(e);case 270:return getTypeFromJSDocVariadicType(e);default:return R}}function instantiateList(e,t,r){if(e&&e.length){var n=[];for(var a=0,i=e;ar.parameters.length)return 0;t=getErasedSignature(t);r=getErasedSignature(r);var s=-1;var c=getThisTypeOfSignature(t);if(c&&c!==A){var l=getThisTypeOfSignature(r);if(l){var u=o(c,l,false)||o(l,c,a);if(!u){a&&i(e.Diagnostics.The_this_types_of_each_signature_are_incompatible);return 0}s&=u}}var _=getNumNonRestParameters(t);var d=getNumNonRestParameters(r);var p=getNumParametersToCheckForSignatureRelatability(t,_,r,d);var m=t.parameters;var g=r.parameters;for(var f=0;f=2&&96&n[a-1].flags){var i=isRelatedTo(e,n[a-1],false);if(i)return i;a--}for(var o=0;o=2&&96&n[a-1].flags){var i=isRelatedTo(n[a-1],t,false);if(i)return i;a--}for(var o=0;o0){for(var _=0;_=5){var n=e.symbol;var a=0;for(var i=0;i=5)return true}}}return false}function isPropertyIdenticalTo(e,t){return 0!==compareProperties(e,t,compareTypesIdentical)}function compareProperties(e,t,r){if(e===t)return-1;var n=getDeclarationFlagsFromSymbol(e)&(8|16);var a=getDeclarationFlagsFromSymbol(t)&(8|16);if(n!==a)return 0;if(n){if(getTargetSymbol(e)!==getTargetSymbol(t))return 0}else if((536870912&e.flags)!==(536870912&t.flags))return 0;return isReadonlySymbol(e)!==isReadonlySymbol(t)?0:r(getTypeOfSymbol(e),getTypeOfSymbol(t))}function isMatchingSignature(e,t,r){return e.parameters.length===t.parameters.length&&e.minArgumentCount===t.minArgumentCount&&e.hasRestParameter===t.hasRestParameter||!!(r&&e.minArgumentCount<=t.minArgumentCount&&(e.hasRestParameter&&!t.hasRestParameter||e.hasRestParameter===t.hasRestParameter&&e.parameters.length>=t.parameters.length))}function compareSignaturesIdentical(e,t,r,n,a,i){if(e===t)return-1;if(!isMatchingSignature(e,t,r))return 0;if((e.typeParameters?e.typeParameters.length:0)!==(t.typeParameters?t.typeParameters.length:0))return 0;e=getErasedSignature(e);t=getErasedSignature(t);var o=-1;if(!n){var s=getThisTypeOfSignature(e);if(s){var c=getThisTypeOfSignature(t);if(c){var l=i(s,c);if(!l)return 0;o&=l}}}var u=t.parameters.length;for(var _=0;_=e.parameters.length-1}function isSupertypeOfEach(e,t){for(var r=0,n=t;ro){a=t[s];i=l;o=c}if(o===t.length-1)break}checkTypeSubtypeOf(i,a,r,e.Diagnostics.Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0,n)}function isArrayType(e){return 4096&e.flags&&e.target===X}function isArrayLikeType(e){return 4096&e.flags&&(e.target===X||e.target===Y)||!(96&e.flags)&&isTypeAssignableTo(e,ne)}function isTupleLikeType(e){return!!getPropertyOfType(e,"0")}function isStringLiteralUnionType(t){return!!(256&t.flags)||!!(16384&t.flags)&&e.forEach(t.types,isStringLiteralUnionType)}function isTupleType(e){return!!(8192&e.flags)}function getCombinedTypeFlags(e){return 16384&e.flags?getCombinedFlagsOfTypes(e.types):e.flags}function addTypeKind(e,t){if((getCombinedTypeFlags(e)&t)===t)return e;var r=[e];2&t&&r.push(D);4&t&&r.push(E);8&t&&r.push(N);16&t&&r.push(A);32&t&&r.push(P);64&t&&r.push(w);return getUnionType(r)}function getNonNullableType(e){return h?getTypeWithFacts(e,524288):e}function isObjectLiteralType(e){return e.symbol&&0!==(e.symbol.flags&(4096|2048))&&0===getSignaturesOfType(e,0).length&&0===getSignaturesOfType(e,1).length}function createTransientSymbol(e,t){var r=createSymbol(67108864|e.flags,e.name);r.declarations=e.declarations;r.parent=e.parent;r.type=t;r.target=e;e.valueDeclaration&&(r.valueDeclaration=e.valueDeclaration);return r}function transformTypeOfMembers(e,t){var r={};for(var n=0,a=getPropertiesOfObjectType(e);nt)&&(e.failedTypeParameterIndex=t)}return r}function getInferredTypes(e){for(var t=0;t=2||0===(r.flags&(2|32))||252===r.valueDeclaration.parent.kind)){var n=e.getEnclosingBlockScopeContainer(r.valueDeclaration);var a=isInsideFunction(t.parent,n);var i=n;var o=false;while(i&&!e.nodeStartsNewLexicalEnvironment(i)){if(e.isIterationStatement(i,false)){o=true;break}i=i.parent}if(o){a&&(getNodeLinks(i).flags|=65536);206===n.kind&&e.getAncestor(r.valueDeclaration,219).parent===n&&isAssignedInBodyOfForStatement(t,n)&&(getNodeLinks(r.valueDeclaration).flags|=2097152);getNodeLinks(r.valueDeclaration).flags|=262144}a&&(getNodeLinks(r.valueDeclaration).flags|=131072)}}function isAssignedInBodyOfForStatement(t,r){var n=t;while(178===n.parent.kind)n=n.parent;var a=false;if(e.isAssignmentTarget(n))a=true;else if(185===n.parent.kind||186===n.parent.kind){var i=n.parent;a=41===i.operator||42===i.operator}if(!a)return false;while(n!==r){if(n===r.statement)return true;n=n.parent}return false}function captureLexicalThis(e,t){getNodeLinks(e).flags|=2;if(145===t.kind||148===t.kind){var r=t.parent;getNodeLinks(r).flags|=4}else getNodeLinks(t).flags|=4}function findFirstSuperCall(t){return e.isSuperCallExpression(t)?t:e.isFunctionLike(t)?void 0:e.forEachChild(t,findFirstSuperCall)}function getSuperCallInConstructor(e){var t=getNodeLinks(e);if(void 0===t.hasSuperCall){t.superCall=findFirstSuperCall(e.body);t.hasSuperCall=!!t.superCall}return t.superCall}function classDeclarationExtendsNull(e){var t=getSymbolOfNode(e);var r=getDeclaredTypeOfSymbol(t);var n=getBaseConstructorTypeOfClass(r);return n===I}function checkThisExpression(t){var r=e.getThisContainer(t,true);var n=false;if(148===r.kind){var a=r.parent;var i=e.getClassExtendsHeritageClauseElement(a);if(i&&!classDeclarationExtendsNull(a)){var o=getSuperCallInConstructor(r);(!o||o.end>t.pos)&&error(t,e.Diagnostics.super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class)}}if(180===r.kind){r=e.getThisContainer(r,false);n=m<2}switch(r.kind){case 225:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_module_or_namespace_body);break;case 224:error(t,e.Diagnostics.this_cannot_be_referenced_in_current_location);break;case 148:isInConstructorArgumentInitializer(t,r)&&error(t,e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments);break;case 145:case 144:32&r.flags&&error(t,e.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer);break;case 140:error(t,e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name);break}n&&captureLexicalThis(t,r);if(e.isFunctionLike(r)&&(!isInParameterInitializerBeforeContainingFunction(t)||getFunctionLikeThisParameter(r))){if(179===r.kind&&e.isInJavaScriptFile(r.parent)&&3===e.getSpecialPropertyAssignmentKind(r.parent)){var s=r.parent.left.expression.expression;var c=checkExpression(s).symbol;if(c&&c.members&&16&c.flags)return getInferredClassType(c)}var l=getContextuallyTypedThisType(r);if(l)return l;var u=getThisTypeOfDeclaration(r);if(u)return u}if(e.isClassLike(r.parent)){var _=getSymbolOfNode(r.parent);var l=32&r.flags?getTypeOfSymbol(_):getDeclaredTypeOfSymbol(_).thisType;return getFlowTypeOfReference(t,l,true,true)}if(e.isInJavaScriptFile(t)){var l=getTypeForThisExpressionFromJSDoc(r);if(l&&l!==R)return l}p.noImplicitThis&&error(t,e.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation);return C}function getTypeForThisExpressionFromJSDoc(t){var r=e.getJSDocTypeTag(t);if(r&&r.typeExpression&&r.typeExpression.type&&269===r.typeExpression.type.kind){var n=r.typeExpression.type;if(n.parameters.length>0&&272===n.parameters[0].type.kind)return getTypeFromTypeNode(n.parameters[0].type)}}function isInConstructorArgumentInitializer(e,t){for(var r=e;r&&r!==t;r=r.parent)if(142===r.kind)return true;return false}function checkSuperExpression(t){var r=174===t.parent.kind&&t.parent.expression===t;var n=e.getSuperContainer(t,true);var a=false;if(!r)while(n&&180===n.kind){n=e.getSuperContainer(n,true);a=m<2}var i=isLegalUsageOfSuperExpression(n);var o=0;if(!i){var s=t;while(s&&s!==n&&140!==s.kind)s=s.parent;s&&140===s.kind?error(t,e.Diagnostics.super_cannot_be_referenced_in_a_computed_property_name):r?error(t,e.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors):n&&n.parent&&(e.isClassLike(n.parent)||171===n.parent.kind)?error(t,e.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class):error(t,e.Diagnostics.super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions);return R}o=32&n.flags||r?512:256;getNodeLinks(t).flags|=o;147===n.kind&&256&n.flags&&(e.isSuperPropertyOrElementAccess(t.parent)&&e.isAssignmentTarget(t.parent)?getNodeLinks(n).flags|=4096:getNodeLinks(n).flags|=2048);a&&captureLexicalThis(t.parent,n);if(171===n.parent.kind){if(m<2){error(t,e.Diagnostics.super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher);return R}return C}var c=n.parent;var l=getDeclaredTypeOfSymbol(getSymbolOfNode(c));var u=l&&getBaseTypes(l)[0];if(!u){e.getClassExtendsHeritageClauseElement(c)||error(t,e.Diagnostics.super_can_only_be_referenced_in_a_derived_class);return R}if(148===n.kind&&isInConstructorArgumentInitializer(t,n)){error(t,e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments);return R}return 512===o?getBaseConstructorTypeOfClass(l):getTypeWithThisArgument(u,l.thisType);function isLegalUsageOfSuperExpression(t){return!!t&&(r?148===t.kind:!(!e.isClassLike(t.parent)&&171!==t.parent.kind)&&(32&t.flags?147===t.kind||146===t.kind||149===t.kind||150===t.kind:147===t.kind||146===t.kind||149===t.kind||150===t.kind||145===t.kind||144===t.kind||148===t.kind))}}function getContextuallyTypedThisType(e){if(isContextSensitiveFunctionOrObjectLiteralMethod(e)&&180!==e.kind){var t=getContextualSignature(e);if(t)return getThisTypeOfSignature(t)}}function getContextuallyTypedParameterType(t){var r=t.parent;if(isContextSensitiveFunctionOrObjectLiteralMethod(r)){var n=e.getImmediatelyInvokedFunctionExpression(r);if(n){var a=e.indexOf(r.parameters,t);if(n.arguments&&a=0){var i=getResolvedOrAnySignature(t);return getTypeAtPosition(i,a)}}function getContextualTypeForSubstitutionExpression(e,t){if(176===e.parent.kind)return getContextualTypeForArgument(e.parent,t)}function getContextualTypeForBinaryOperand(e){var t=e.parent;var r=t.operatorToken.kind;if(r>=56&&r<=68){if(e===t.right)return checkExpression(t.left)}else{if(52===r){var n=getContextualType(t);n||e!==t.right||(n=checkExpression(t.left));return n}if((51===r||24===r)&&e===t.right)return getContextualType(t)}}function applyToContextualType(e,t){if(!(16384&e.flags))return t(e);var r=e.types;var n;var a;for(var i=0,o=r;i=2?getElementTypeOfIterable(n,void 0):void 0)}}function getContextualTypeForConditionalOperand(e){var t=e.parent;return e===t.whenTrue||e===t.whenFalse?getContextualType(t):void 0}function getContextualTypeForJsxAttribute(t){var r=t.kind;var n=t.parent;var a=getJsxElementAttributesType(n);if(246===t.kind){if(!a||isTypeAny(a))return;return getTypeOfPropertyOfType(a,t.name.text)}if(247===t.kind)return a;e.Debug.fail("Expected JsxAttribute or JsxSpreadAttribute, got ts.SyntaxKind["+r+"]")}function getApparentTypeOfContextualType(e){var t=getContextualType(e);return t&&getApparentType(t)}function getContextualType(t){if(!isInsideWithStatementBody(t)){if(t.contextualType)return t.contextualType;var r=t.parent;switch(r.kind){case 218:case 142:case 145:case 144:case 169:return getContextualTypeForInitializerExpression(t);case 180:case 211:return getContextualTypeForReturnExpression(t);case 190:return getContextualTypeForYieldOperand(r);case 174:case 175:return getContextualTypeForArgument(r,t);case 177:case 195:return getTypeFromTypeNode(r.type);case 187:return getContextualTypeForBinaryOperand(t);case 253:return getContextualTypeForObjectLiteralElement(r);case 170:return getContextualTypeForElementExpression(t);case 188:return getContextualTypeForConditionalOperand(t);case 197:e.Debug.assert(189===r.parent.kind);return getContextualTypeForSubstitutionExpression(r.parent,t);case 178:return getContextualType(r);case 248:return getContextualType(r);case 246:case 247:return getContextualTypeForJsxAttribute(r)}}}function getNonGenericSignature(e){var t=getSignaturesOfStructuredType(e,0);if(1===t.length){var r=t[0];if(!r.typeParameters)return r}}function isFunctionExpressionOrArrowFunction(e){return 179===e.kind||180===e.kind}function getContextualSignatureForFunctionLikeDeclaration(t){return isFunctionExpressionOrArrowFunction(t)||e.isObjectLiteralMethod(t)?getContextualSignature(t):void 0}function getContextualTypeForFunctionLikeDeclaration(t){return e.isObjectLiteralMethod(t)?getContextualTypeForObjectLiteralMethod(t):getApparentTypeOfContextualType(t)}function getContextualSignature(t){e.Debug.assert(147!==t.kind||e.isObjectLiteralMethod(t));var r=getContextualTypeForFunctionLikeDeclaration(t);if(r){if(!(16384&r.flags))return getNonGenericSignature(r);var n;var a=r.types;for(var i=0,o=a;i=2?getElementTypeOfIterable(u,void 0):void 0);_&&i.push(_)}else{var d=checkExpression(l,r);i.push(d)}a=a||191===l.kind}if(!a){if(o&&i.length){var d=createNewTupleType(i);d.pattern=t;return d}var p=getApparentTypeOfContextualType(t);if(p&&contextualTypeIsTupleLikeType(p)){var g=p.pattern;if(g&&(168===g.kind||170===g.kind)){var f=g.elements;for(var y=i.length;y0&&u[0];var d=_&&getReturnTypeOfSignature(_);var p=d&&(0===_.parameters.length?M:getTypeOfSymbol(_.parameters[0]));if(d&&isTypeAssignableTo(d,Qe)){var m=getJsxType(Ye.IntrinsicAttributes);m!==R&&(p=intersectTypes(m,p));return p}}n&&checkTypeRelatedTo(l,n,Ze,t,e.Diagnostics.JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements);if(isTypeAny(l))return l;var g=getJsxElementPropertiesName();if(void 0===g)return C;if(""===g)return l;var f=getTypeOfPropertyOfType(l,g);if(f){if(isTypeAny(f)||f===R)return f;if(16384&f.flags){error(t.tagName,e.Diagnostics.JSX_element_attributes_type_0_may_not_be_a_union_type,typeToString(f));return C}var y=f;var h=getJsxType(Ye.IntrinsicClassAttributes);if(h!==R){var v=getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(h.symbol);v?1===v.length&&(y=intersectTypes(createTypeReference(h,[l]),y)):y=intersectTypes(f,h)}var b=getJsxType(Ye.IntrinsicAttributes);b!==R&&(y=intersectTypes(b,y));return y}return M}function getJsxElementAttributesType(e){var t=getNodeLinks(e);if(!t.resolvedJsxType){if(isJsxIntrinsicIdentifier(e.tagName)){var r=getIntrinsicTagSymbol(e);return 1&t.jsxFlags?t.resolvedJsxType=getTypeOfSymbol(r):2&t.jsxFlags?t.resolvedJsxType=getIndexInfoOfSymbol(r,0).type:t.resolvedJsxType=R}var n=getJsxGlobalElementClassType();return t.resolvedJsxType=getResolvedJsxType(e,void 0,n)}return t.resolvedJsxType}function getJsxAttributePropertySymbol(e){var t=getJsxElementAttributesType(e.parent);var r=getPropertyOfType(t,e.name.text);return r||S}function getJsxGlobalElementClassType(){be||(be=getExportedTypeFromNamespace(Ye.JSX,Ye.ElementClass));return be}function getJsxIntrinsicTagNames(){var e=getJsxType(Ye.IntrinsicElements);return e?getPropertiesOfType(e):_}function checkJsxPreconditions(t){0===(p.jsx||0)&&error(t,e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided);void 0===Qe&&p.noImplicitAny&&error(t,e.Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist)}function checkJsxOpeningLikeElement(t){checkGrammarJsxElement(t);checkJsxPreconditions(t);var r=2===p.jsx?e.Diagnostics.Cannot_find_name_0:void 0;var n=p.reactNamespace?p.reactNamespace:"React";var a=resolveName(t.tagName,n,107455,r,n);a&&(getSymbolLinks(a).referenced=true);var i=getJsxElementAttributesType(t);var o={};var s=false;for(var c=t.attributes.length-1;c>=0;c--)if(246===t.attributes[c].kind)checkJsxAttribute(t.attributes[c],i,o);else{e.Debug.assert(247===t.attributes[c].kind);var l=checkJsxSpreadAttribute(t.attributes[c],i,o);isTypeAny(l)&&(s=true)}if(i&&!s){var u=getPropertiesOfType(i);for(var c=0;c=0)return isRestParameterIndex(n,l);if(!n.hasRestParameter&&i>n.parameters.length)return false;var f=i>=n.minArgumentCount;return s||f}function getSingleCallSignature(e){if(80896&e.flags){var t=resolveStructuredTypeMembers(e);if(1===t.callSignatures.length&&0===t.constructSignatures.length&&0===t.properties.length&&!t.stringIndexInfo&&!t.numberIndexInfo)return t.callSignatures[0]}}function instantiateSignatureInContextOf(e,t,r){var n=createInferenceContext(e.typeParameters,true);forEachMatchingParameterType(t,e,(function(e,t){inferTypes(n,instantiateType(e,r),t)}));return getSignatureInstantiation(e,getInferredTypes(n))}function inferTypeArguments(e,t,r,n,a){var i=t.typeParameters;var o=getInferenceMapper(a);for(var s=0;s=3?3:2;case 142:return 3}}function getEffectiveDecoratorFirstArgumentType(t){if(221===t.kind){var r=getSymbolOfNode(t);return getTypeOfSymbol(r)}if(142===t.kind){t=t.parent;if(148===t.kind){var r=getSymbolOfNode(t);return getTypeOfSymbol(r)}}if(145===t.kind||147===t.kind||149===t.kind||150===t.kind)return getParentTypeOfClassElement(t);e.Debug.fail("Unsupported decorator target.");return R}function getEffectiveDecoratorSecondArgumentType(t){if(221===t.kind){e.Debug.fail("Class decorators should not have a second synthetic argument.");return R}if(142===t.kind){t=t.parent;if(148===t.kind)return C}if(145===t.kind||147===t.kind||149===t.kind||150===t.kind){var r=t;switch(r.name.kind){case 69:case 8:case 9:return getStringLiteralTypeForText(r.name.text);case 140:var n=checkComputedPropertyName(r.name);return isTypeOfKind(n,16777216)?n:D;default:e.Debug.fail("Unsupported property name.");return R}}e.Debug.fail("Unsupported decorator target.");return R}function getEffectiveDecoratorThirdArgumentType(t){if(221===t.kind){e.Debug.fail("Class decorators should not have a third synthetic argument.");return R}if(142===t.kind)return E;if(145===t.kind){e.Debug.fail("Property decorators should not have a third synthetic argument.");return R}if(147===t.kind||149===t.kind||150===t.kind){var r=getTypeOfNode(t);return createTypedPropertyDescriptorType(r)}e.Debug.fail("Unsupported decorator target.");return R}function getEffectiveDecoratorArgumentType(t,r){if(0===r)return getEffectiveDecoratorFirstArgumentType(t.parent);if(1===r)return getEffectiveDecoratorSecondArgumentType(t.parent);if(2===r)return getEffectiveDecoratorThirdArgumentType(t.parent);e.Debug.fail("Decorators should not have a fourth synthetic argument.");return R}function getEffectiveArgumentType(e,t,r){return 143===e.kind?getEffectiveDecoratorArgumentType(e,t):0===t&&176===e.kind?ae():void 0}function getEffectiveArgument(e,t,r){if(143!==e.kind&&(0!==r||176!==e.kind))return t[r]}function getEffectiveArgumentErrorNode(e,t,r){return 143===e.kind?e.expression:0===t&&176===e.kind?e.template:r}function resolveCall(t,n,a,i){var o=176===t.kind;var s=143===t.kind;var c;if(!o&&!s){c=t.typeArguments;95!==t.expression.kind&&e.forEach(c,checkSourceElement)}var l=a||[];reorderCandidates(n,l);if(!l.length){reportError(e.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target);return resolveErrorCall(t)}var u=getEffectiveCallArguments(t);var _;if(!s)for(var d=o?1:0;d1&&(f=chooseOverload(l,$e,y));if(!f){p=void 0;m=void 0;g=void 0;f=chooseOverload(l,Ze,y)}if(f)return f;if(p)checkApplicableSignature(t,u,p,Ze,void 0,true);else if(m)if(o||s||!c){e.Debug.assert(g.failedTypeParameterIndex>=0);var h=m.typeParameters[g.failedTypeParameterIndex];var v=getInferenceCandidates(g,g.failedTypeParameterIndex);var b=e.chainDiagnosticMessages(void 0,e.Diagnostics.The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly,typeToString(h));i&&(b=e.chainDiagnosticMessages(b,i));reportNoCommonSupertypeError(v,t.expression||t.tag,b)}else{var T=t.typeArguments;checkTypeArguments(m,T,e.map(T,getTypeFromTypeNode),true,i)}else reportError(e.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target);if(!r)for(var k=0,S=l;k=0&&error(t.arguments[n],e.Diagnostics.Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher)}var a=checkNonNullExpression(t.expression);a=getApparentType(a);if(a===R)return resolveErrorCall(t);var i=a.symbol&&getClassLikeDeclarationOfSymbol(a.symbol);if(i&&128&i.flags){error(t,e.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0,e.declarationNameToString(i.name));return resolveErrorCall(t)}if(isTypeAny(a)){t.typeArguments&&error(t,e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments);return resolveUntypedCall(t)}var o=getSignaturesOfType(a,1);if(o.length)return isConstructorAccessible(t,o[0])?resolveCall(t,o,r):resolveErrorCall(t);var s=getSignaturesOfType(a,0);if(s.length){var c=resolveCall(t,s,r);getReturnTypeOfSignature(c)!==A&&error(t,e.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword);getThisTypeOfSignature(c)===A&&error(t,e.Diagnostics.A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void);return c}error(t,e.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature);return resolveErrorCall(t)}function isConstructorAccessible(t,r){if(!r||!r.declaration)return true;var n=r.declaration;var a=n.flags;if(!(a&(8|16)))return true;var i=getClassLikeDeclarationOfSymbol(n.parent.symbol);var o=getDeclaredTypeOfSymbol(n.parent.symbol);if(!isNodeWithinClass(t,i)){8&a&&error(t,e.Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,typeToString(o));16&a&&error(t,e.Diagnostics.Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,typeToString(o));return false}return true}function resolveTaggedTemplateExpression(t,r){var n=checkExpression(t.tag);var a=getApparentType(n);if(a===R)return resolveErrorCall(t);var i=getSignaturesOfType(a,0);if(isTypeAny(n)||!i.length&&!(16384&n.flags)&&isTypeAssignableTo(n,Q))return resolveUntypedCall(t);if(!i.length){error(t,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature);return resolveErrorCall(t)}return resolveCall(t,i,r)}function getDiagnosticHeadMessageForDecoratorResolution(t){switch(t.parent.kind){case 221:case 192:return e.Diagnostics.Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression;case 142:return e.Diagnostics.Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression;case 145:return e.Diagnostics.Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression;case 147:case 149:case 150:return e.Diagnostics.Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression}}function resolveDecorator(t,r){var n=checkExpression(t.expression);var a=getApparentType(n);if(a===R)return resolveErrorCall(t);var i=getSignaturesOfType(a,0);if(n===C||!i.length&&!(16384&n.flags)&&isTypeAssignableTo(n,Q))return resolveUntypedCall(t);var o=getDiagnosticHeadMessageForDecoratorResolution(t);if(!i.length){var s=void 0;s=e.chainDiagnosticMessages(s,e.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature);s=e.chainDiagnosticMessages(s,o);Ue.add(e.createDiagnosticForNodeFromMessageChain(t,s));return resolveErrorCall(t)}return resolveCall(t,i,r,o)}function resolveSignature(t,r){switch(t.kind){case 174:return resolveCallExpression(t,r);case 175:return resolveNewExpression(t,r);case 176:return resolveTaggedTemplateExpression(t,r);case 143:return resolveDecorator(t,r)}e.Debug.fail("Branch in 'resolveSignature' should be unreachable.")}function getResolvedSignature(e,t){var r=getNodeLinks(e);var n=r.resolvedSignature;if(n&&n!==W&&!t)return n;r.resolvedSignature=W;var a=resolveSignature(e,t);r.resolvedSignature=Se===xe?a:n;return a}function getResolvedOrAnySignature(e){return getNodeLinks(e).resolvedSignature===W?W:getResolvedSignature(e)}function getInferredClassType(e){var t=getSymbolLinks(e);t.inferredClassType||(t.inferredClassType=createAnonymousType(void 0,e.members,_,_,void 0,void 0));return t.inferredClassType}function checkCallExpression(t){checkGrammarTypeArguments(t,t.typeArguments)||checkGrammarArguments(t,t.arguments);var r=getResolvedSignature(t);if(95===t.expression.kind)return A;if(175===t.kind){var n=r.declaration;if(n&&148!==n.kind&&152!==n.kind&&157!==n.kind&&!e.isJSDocConstructSignature(n)){var a=69===t.expression.kind?getResolvedSymbol(t.expression):checkExpression(t.expression).symbol;if(a&&a.members&&(16&a.flags||e.isDeclarationOfFunctionExpression(a)))return getInferredClassType(a);p.noImplicitAny&&error(t,e.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type);return C}}return e.isInJavaScriptFile(t)&&e.isRequireCall(t,true)?resolveExternalModuleTypeByLiteral(t.arguments[0]):getReturnTypeOfSignature(r)}function checkTaggedTemplateExpression(e){return getReturnTypeOfSignature(getResolvedSignature(e))}function checkAssertion(t){var n=getRegularTypeOfObjectLiteral(checkExpression(t.expression));checkSourceElement(t.type);var a=getTypeFromTypeNode(t.type);if(r&&a!==R){var i=getWidenedType(n);isTypeComparableTo(a,i)||checkTypeComparableTo(n,a,t,e.Diagnostics.Type_0_cannot_be_converted_to_type_1)}return a}function checkNonNullAssertion(e){return getNonNullableType(checkExpression(e.expression))}function getTypeOfParameter(e){var t=getTypeOfSymbol(e);if(h){var r=e.valueDeclaration;if(r&&r.initializer)return addTypeKind(t,32)}return t}function getTypeAtPosition(e,t){return e.hasRestParameter?t=56&&s<=68){var a=checkReferenceExpression(t,e.Diagnostics.Invalid_left_hand_side_of_assignment_expression,e.Diagnostics.Left_hand_side_of_assignment_expression_cannot_be_a_constant_or_a_read_only_property);a&&checkTypeAssignableTo(n,c,t,void 0)}}function reportOperatorError(){error(o||n,e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2,e.tokenToString(n.kind),typeToString(c),typeToString(l))}}function isYieldExpressionInClass(t){var r=t;var n=t.parent;while(n){if(e.isFunctionLike(n)&&r===n.body)return false;if(e.isClassLike(r))return true;r=n;n=n.parent}return false}function checkYieldExpression(t){if(r){8388608&t.flags&&!isYieldExpressionInClass(t)||grammarErrorOnFirstToken(t,e.Diagnostics.A_yield_expression_is_only_allowed_in_a_generator_body);isInParameterInitializerBeforeContainingFunction(t)&&error(t,e.Diagnostics.yield_expressions_cannot_be_used_in_a_parameter_initializer)}if(t.expression){var n=e.getContainingFunction(t);if(n&&n.asteriskToken){var a=checkExpressionCached(t.expression,void 0);var i=void 0;var o=!!t.asteriskToken;o&&(i=checkElementTypeOfIterable(a,t.expression));if(n.type){var s=getElementTypeOfIterableIterator(getTypeFromTypeNode(n.type))||C;checkTypeAssignableTo(o?i:a,s,t.expression,void 0)}}}return C}function checkConditionalExpression(e,t){checkExpression(e.condition);var r=checkExpression(e.whenTrue,t);var n=checkExpression(e.whenFalse,t);return getUnionType([r,n])}function checkStringLiteralExpression(e){var t=getContextualType(e);return t&&isStringLiteralUnionType(t)?getStringLiteralTypeForText(e.text):D}function checkTemplateExpression(t){e.forEach(t.templateSpans,(function(e){checkExpression(e.expression)}));return D}function checkExpressionWithContextualType(e,t,r){var n=e.contextualType;e.contextualType=t;var a=checkExpression(e,r);e.contextualType=n;return a}function checkExpressionCached(e,t){var r=getNodeLinks(e);if(!r.resolvedType){var n=Se;Se=xe;r.resolvedType=checkExpression(e,t);Se=n}return r.resolvedType}function checkPropertyAssignment(e,t){140===e.name.kind&&checkComputedPropertyName(e.name);return checkExpression(e.initializer,t)}function checkObjectLiteralMethod(e,t){checkGrammarMethod(e);140===e.name.kind&&checkComputedPropertyName(e.name);var r=checkFunctionExpressionOrObjectLiteralMethod(e,t);return instantiateTypeWithSingleGenericCallSignature(e,r,t)}function instantiateTypeWithSingleGenericCallSignature(e,t,r){if(isInferentialContext(r)){var n=getSingleCallSignature(t);if(n&&n.typeParameters){var a=getApparentTypeOfContextualType(e);if(a){var i=getSingleCallSignature(a);if(i&&!i.typeParameters)return getOrCreateTypeFromSignature(instantiateSignatureInContextOf(n,i,r))}}}return t}function checkExpression(t,r){var n;if(139===t.kind)n=checkQualifiedName(t);else{var a=checkExpressionWorker(t,r);n=instantiateTypeWithSingleGenericCallSignature(t,a,r)}if(isConstEnumObjectType(n)){var i=172===t.parent.kind&&t.parent.expression===t||173===t.parent.kind&&t.parent.expression===t||(69===t.kind||139===t.kind)&&isInRightSideOfImportOrExportAssignment(t);i||error(t,e.Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment)}return n}function checkNumericLiteral(e){checkGrammarNumericLiteral(e);return E}function checkExpressionWorker(t,r){switch(t.kind){case 69:return checkIdentifier(t);case 97:return checkThisExpression(t);case 95:return checkSuperExpression(t);case 93:return I;case 99:case 84:return N;case 8:return checkNumericLiteral(t);case 189:return checkTemplateExpression(t);case 9:return checkStringLiteralExpression(t);case 11:return D;case 10:return te;case 170:return checkArrayLiteral(t,r);case 171:return checkObjectLiteral(t,r);case 172:return checkPropertyAccessExpression(t);case 173:return checkIndexedAccess(t);case 174:case 175:return checkCallExpression(t);case 176:return checkTaggedTemplateExpression(t);case 178:return checkExpression(t.expression,r);case 192:return checkClassExpression(t);case 179:case 180:return checkFunctionExpressionOrObjectLiteralMethod(t,r);case 182:return checkTypeOfExpression(t);case 177:case 195:return checkAssertion(t);case 196:return checkNonNullAssertion(t);case 181:return checkDeleteExpression(t);case 183:return checkVoidExpression(t);case 184:return checkAwaitExpression(t);case 185:return checkPrefixUnaryExpression(t);case 186:return checkPostfixUnaryExpression(t);case 187:return checkBinaryExpression(t,r);case 188:return checkConditionalExpression(t,r);case 191:return checkSpreadElementExpression(t,r);case 193:return F;case 190:return checkYieldExpression(t);case 248:return checkJsxExpression(t);case 241:return checkJsxElement(t);case 242:return checkJsxSelfClosingElement(t);case 243:e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement")}return R}function checkTypeParameter(t){t.expression&&grammarErrorOnFirstToken(t.expression,e.Diagnostics.Type_expected);checkSourceElement(t.constraint);getConstraintOfTypeParameter(getDeclaredTypeOfTypeParameter(getSymbolOfNode(t)));r&&checkTypeNameIsReserved(t.name,e.Diagnostics.Type_parameter_name_cannot_be_0)}function checkParameter(t){checkGrammarDecorators(t)||checkGrammarModifiers(t);checkVariableLikeDeclaration(t);var r=e.getContainingFunction(t);if(92&t.flags){r=e.getContainingFunction(t);148===r.kind&&e.nodeIsPresent(r.body)||error(t,e.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation)}t.questionToken&&e.isBindingPattern(t.name)&&r.body&&error(t,e.Diagnostics.A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature);if("this"===t.name.text){0!==e.indexOf(r.parameters,t)&&error(t,e.Diagnostics.A_this_parameter_must_be_the_first_parameter);148!==r.kind&&152!==r.kind&&157!==r.kind||error(t,e.Diagnostics.A_constructor_cannot_have_a_this_parameter)}!t.dotDotDotToken||e.isBindingPattern(t.name)||isArrayType(getTypeOfSymbol(t.symbol))||error(t,e.Diagnostics.A_rest_parameter_must_be_of_an_array_type)}function isSyntacticallyValidGenerator(e){return!(!e.asteriskToken||!e.body)&&(147===e.kind||220===e.kind||179===e.kind)}function getTypePredicateParameterIndex(e,t){if(e)for(var r=0;r=0)if(r.parameters[n.parameterIndex].dotDotDotToken)error(a,e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter);else{var i=e.chainDiagnosticMessages(void 0,e.Diagnostics.A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type);checkTypeAssignableTo(n.type,getTypeOfNode(r.parameters[n.parameterIndex]),t.type,void 0,i)}else if(a){var o=false;for(var s=0,c=r.parameters;s=2&&isSyntacticallyValidGenerator(t)){var n=getTypeFromTypeNode(t.type);if(n===A)error(t.type,e.Diagnostics.A_generator_cannot_have_a_void_type_annotation);else{var a=getElementTypeOfIterableIterator(n)||C;var i=createIterableIteratorType(a);checkTypeAssignableTo(i,n,t.type)}}else e.isAsyncFunctionLike(t)&&checkAsyncFunctionReturnType(t);t.body||checkUnusedTypeParameters(t)}}function checkClassForDuplicateDeclarations(t){var r=1,n=2,a=r|n;var i={};var o={};for(var s=0,c=t.members;s0&&r.declarations[0]!==t)return}var n=getIndexSymbol(getSymbolOfNode(t));if(n){var a=false;var i=false;for(var o=0,s=n.declarations;o0?getTypeAtPosition(e,0):L}function getAwaitedType(e){return checkAwaitedType(e,void 0,void 0)}function checkAwaitedType(t,r,n){return checkAwaitedTypeWorker(t);function checkAwaitedTypeWorker(t){if(16384&t.flags){var a=[];for(var i=0,o=t.types;i=0){r&&error(r,e.Diagnostics._0_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method,symbolToString(t.symbol));return R}ze.push(t.id);var l=checkAwaitedTypeWorker(c);ze.pop();return l}}function checkCorrectPromiseType(t,r){if(t===R)return R;var n=me();if(n===B||n===getTargetType(t))return checkAwaitedType(t,r,e.Diagnostics.An_async_function_or_method_must_have_a_valid_awaitable_return_type);error(r,e.Diagnostics.The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type);return R}function checkAsyncFunctionReturnType(t){if(m>=2){var r=getTypeFromTypeNode(t.type);return checkCorrectPromiseType(r,t.type)}var n=he();if(n===M)return R;var a=getTypeFromTypeNode(t.type);if(a===R&&p.isolatedModules)return R;var i=getNodeLinks(t.type).resolvedSymbol;if(!i||!symbolIsValue(i)){var o=i?symbolToString(i):typeToString(a);error(t,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type,o);return R}checkReturnTypeAnnotationAsExpression(t);var s=getTypeOfSymbol(i);if(!checkTypeAssignableTo(s,n,t,e.Diagnostics.Type_0_is_not_a_valid_async_function_return_type))return R;var c=e.getEntityNameFromTypeNode(t.type);var l=getFirstIdentifier(c);var u=getSymbol(t.locals,l.text,107455);if(u){error(u.valueDeclaration,e.Diagnostics.Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,l.text,getFullyQualifiedName(i));return R}return checkAwaitedType(a,t,e.Diagnostics.An_async_function_or_method_must_have_a_valid_awaitable_return_type)}function checkDecorator(t){var r=getResolvedSignature(t);var n=getReturnTypeOfSignature(r);if(!(1&n.flags)){var a;var i=getDiagnosticHeadMessageForDecoratorResolution(t);var o;switch(t.parent.kind){case 221:var s=getSymbolOfNode(t.parent);var c=getTypeOfSymbol(s);a=getUnionType([c,A]);break;case 142:a=A;o=e.chainDiagnosticMessages(o,e.Diagnostics.The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any);break;case 145:a=A;o=e.chainDiagnosticMessages(o,e.Diagnostics.The_return_type_of_a_property_decorator_function_must_be_either_void_or_any);break;case 147:case 149:case 150:var l=getTypeOfNode(t.parent);var u=createTypedPropertyDescriptorType(l);a=getUnionType([u,A]);break}checkTypeAssignableTo(n,a,t,i,o)}}function checkTypeNodeAsExpression(e){if(e&&155===e.kind){var t=getFirstIdentifier(e.typeName);var r=155===t.parent.kind?793056:1536;var n=resolveName(t,t.text,8388608|r,void 0,void 0);if(n&&8388608&n.flags){var a=resolveAlias(n);107455&a.flags&&!isConstEnumOrConstEnumOnlyModule(resolveAlias(n))&&markAliasSymbolAsReferenced(n)}}}function checkTypeAnnotationAsExpression(e){checkTypeNodeAsExpression(e.type)}function checkReturnTypeAnnotationAsExpression(e){checkTypeNodeAsExpression(e.type)}function checkParameterTypeAnnotationsAsExpressions(e){for(var t=0,r=e.parameters;t1)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here)}}function checkExpressionStatement(e){checkGrammarStatementInAmbientContext(e);checkExpression(e.expression)}function checkIfStatement(t){checkGrammarStatementInAmbientContext(t);checkExpression(t.expression);checkSourceElement(t.thenStatement);201===t.thenStatement.kind&&error(t.thenStatement,e.Diagnostics.The_body_of_an_if_statement_cannot_be_the_empty_statement);checkSourceElement(t.elseStatement)}function checkDoStatement(e){checkGrammarStatementInAmbientContext(e);checkSourceElement(e.statement);checkExpression(e.expression)}function checkWhileStatement(e){checkGrammarStatementInAmbientContext(e);checkExpression(e.expression);checkSourceElement(e.statement)}function checkForStatement(t){checkGrammarStatementInAmbientContext(t)||t.initializer&&219===t.initializer.kind&&checkGrammarVariableDeclarationList(t.initializer);t.initializer&&(219===t.initializer.kind?e.forEach(t.initializer.declarations,checkVariableDeclaration):checkExpression(t.initializer));t.condition&&checkExpression(t.condition);t.incrementor&&checkExpression(t.incrementor);checkSourceElement(t.statement);t.locals&®isterForUnusedIdentifiersCheck(t)}function checkForOfStatement(t){checkGrammarForInOrForOfStatement(t);if(219===t.initializer.kind)checkForInOrForOfVariableDeclaration(t);else{var r=t.initializer;var n=checkRightHandSideOfForOf(t.expression);if(170===r.kind||171===r.kind)checkDestructuringAssignment(r,n||R);else{var a=checkExpression(r);checkReferenceExpression(r,e.Diagnostics.Invalid_left_hand_side_in_for_of_statement,e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_be_a_constant_or_a_read_only_property);n&&checkTypeAssignableTo(n,a,r,void 0)}}checkSourceElement(t.statement);t.locals&®isterForUnusedIdentifiersCheck(t)}function checkForInStatement(t){checkGrammarForInOrForOfStatement(t);if(219===t.initializer.kind){var r=t.initializer.declarations[0];r&&e.isBindingPattern(r.name)&&error(r.name,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern);checkForInOrForOfVariableDeclaration(t)}else{var n=t.initializer;var a=checkExpression(n);170===n.kind||171===n.kind?error(n,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern):isTypeAnyOrAllConstituentTypesHaveKind(a,258)?checkReferenceExpression(n,e.Diagnostics.Invalid_left_hand_side_in_for_in_statement,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_be_a_constant_or_a_read_only_property):error(n,e.Diagnostics.The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any)}var i=checkNonNullExpression(t.expression);isTypeAnyOrAllConstituentTypesHaveKind(i,80896|512)||error(t.expression,e.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter);checkSourceElement(t.statement);t.locals&®isterForUnusedIdentifiersCheck(t)}function checkForInOrForOfVariableDeclaration(e){var t=e.initializer;if(t.declarations.length>=1){var r=t.declarations[0];checkVariableDeclaration(r)}}function checkRightHandSideOfForOf(e){var t=checkNonNullExpression(e);return checkIteratedTypeOrElementType(t,e,true)}function checkIteratedTypeOrElementType(t,r,n){if(isTypeAny(t))return t;if(m>=2)return checkElementTypeOfIterable(t,r);if(n)return checkElementTypeOfArrayOrString(t,r);if(isArrayLikeType(t)){var a=getIndexTypeOfType(t,1);if(a)return a}r&&error(r,e.Diagnostics.Type_0_is_not_an_array_type,typeToString(t));return R}function checkElementTypeOfIterable(e,t){var r=getElementTypeOfIterable(e,t);t&&r&&checkTypeAssignableTo(e,createIterableType(r),t);return r||C}function getElementTypeOfIterable(t,r){if(!isTypeAny(t)){var n=t;if(!n.iterableElementType)if(4096&t.flags&&t.target===oe())n.iterableElementType=t.typeArguments[0];else{var a=getTypeOfPropertyOfType(t,e.getPropertyNameForKnownSymbolName("iterator"));if(isTypeAny(a))return;var i=a?getSignaturesOfType(a,0):_;if(0===i.length){r&&error(r,e.Diagnostics.Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator);return}n.iterableElementType=getElementTypeOfIterator(getUnionType(e.map(i,getReturnTypeOfSignature)),r)}return n.iterableElementType}}function getElementTypeOfIterator(t,r){if(!isTypeAny(t)){var n=t;if(!n.iteratorElementType)if(4096&t.flags&&t.target===se())n.iteratorElementType=t.typeArguments[0];else{var a=getTypeOfPropertyOfType(t,"next");if(isTypeAny(a))return;var i=a?getSignaturesOfType(a,0):_;if(0===i.length){r&&error(r,e.Diagnostics.An_iterator_must_have_a_next_method);return}var o=getUnionType(e.map(i,getReturnTypeOfSignature));if(isTypeAny(o))return;var s=getTypeOfPropertyOfType(o,"value");if(!s){r&&error(r,e.Diagnostics.The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property);return}n.iteratorElementType=s}return n.iteratorElementType}}function getElementTypeOfIterableIterator(e){if(!isTypeAny(e))return 4096&e.flags&&e.target===ce()?e.typeArguments[0]:getElementTypeOfIterable(e,void 0)||getElementTypeOfIterator(e,void 0)}function checkElementTypeOfArrayOrString(t,r){e.Debug.assert(m<2);var n=t;16384&t.flags?n=getUnionType(e.filter(t.types,(function(e){return!(258&e.flags)}))):258&t.flags&&(n=L);var a=t!==n;var i=false;if(a){if(m<1){error(r,e.Diagnostics.Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher);i=true}if(n===L)return D}if(!isArrayLikeType(n)){if(!i){var o=a?e.Diagnostics.Type_0_is_not_an_array_type:e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type;error(r,o,typeToString(n))}return a?D:R}var s=getIndexTypeOfType(n,1)||R;return a?258&s.flags?D:getUnionType([s,D]):s}function checkBreakOrContinueStatement(e){checkGrammarStatementInAmbientContext(e)||checkGrammarBreakOrContinueStatement(e)}function isGetAccessorWithAnnotatedSetAccessor(t){return!!(149===t.kind&&e.getSetAccessorTypeAnnotationNode(e.getDeclarationOfKind(t.symbol,150)))}function isUnwrappedReturnTypeVoidOrAny(t,r){var n=e.isAsyncFunctionLike(t)?getPromisedType(r):r;return n&&maybeTypeOfKind(n,16|1)}function checkReturnStatement(t){if(!checkGrammarStatementInAmbientContext(t)){var r=e.getContainingFunction(t);r||grammarErrorOnFirstToken(t,e.Diagnostics.A_return_statement_can_only_be_used_within_a_function_body)}var n=e.getContainingFunction(t);if(n){var a=getSignatureFromDeclaration(n);var i=getReturnTypeOfSignature(a);if(h||t.expression||i===L){var o=t.expression?checkExpressionCached(t.expression):P;if(n.asteriskToken)return;if(150===n.kind)t.expression&&error(t.expression,e.Diagnostics.Setters_cannot_return_a_value);else if(148===n.kind)t.expression&&!checkTypeAssignableTo(o,i,t.expression)&&error(t.expression,e.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class);else if(n.type||isGetAccessorWithAnnotatedSetAccessor(n))if(e.isAsyncFunctionLike(n)){var s=getPromisedType(i);var c=checkAwaitedType(o,t.expression||t,e.Diagnostics.Return_expression_in_async_function_does_not_have_a_valid_callable_then_member);s&&checkTypeAssignableTo(c,s,t.expression||t)}else checkTypeAssignableTo(o,i,t.expression||t)}else 148!==n.kind&&p.noImplicitReturns&&!isUnwrappedReturnTypeVoidOrAny(n,i)&&error(t,e.Diagnostics.Not_all_code_paths_return_a_value)}}function checkWithStatement(t){checkGrammarStatementInAmbientContext(t)||33554432&t.flags&&grammarErrorOnFirstToken(t,e.Diagnostics.with_statements_are_not_allowed_in_an_async_function_block);checkExpression(t.expression);error(t.expression,e.Diagnostics.All_symbols_within_a_with_block_will_be_resolved_to_any)}function checkSwitchStatement(t){checkGrammarStatementInAmbientContext(t);var n;var a=false;var i=checkExpression(t.expression);e.forEach(t.caseBlock.clauses,(function(o){if(250===o.kind&&!a)if(void 0===n)n=o;else{var s=e.getSourceFileOfNode(t);var c=e.skipTrivia(s.text,o.pos);var l=o.statements.length>0?o.statements[0].pos:o.end;grammarErrorAtPos(s,c,l-c,e.Diagnostics.A_default_clause_cannot_appear_more_than_once_in_a_switch_statement);a=true}if(r&&249===o.kind){var u=o;var _=checkExpression(u.expression);isTypeEqualityComparableTo(i,_)||checkTypeComparableTo(_,i,u.expression,void 0)}e.forEach(o.statements,checkSourceElement)}));t.caseBlock.locals&®isterForUnusedIdentifiersCheck(t.caseBlock)}function checkLabeledStatement(t){if(!checkGrammarStatementInAmbientContext(t)){var r=t.parent;while(r){if(e.isFunctionLike(r))break;if(214===r.kind&&r.label.text===t.label.text){var n=e.getSourceFileOfNode(t);grammarErrorOnNode(t.label,e.Diagnostics.Duplicate_label_0,e.getTextOfNodeFromSourceText(n.text,t.label));break}r=r.parent}}checkSourceElement(t.statement)}function checkThrowStatement(t){checkGrammarStatementInAmbientContext(t)||void 0===t.expression&&grammarErrorAfterFirstToken(t,e.Diagnostics.Line_break_not_permitted_here);t.expression&&checkExpression(t.expression)}function checkTryStatement(t){checkGrammarStatementInAmbientContext(t);checkBlock(t.tryBlock);var r=t.catchClause;if(r){if(r.variableDeclaration)if(69!==r.variableDeclaration.name.kind)grammarErrorOnFirstToken(r.variableDeclaration.name,e.Diagnostics.Catch_clause_variable_name_must_be_an_identifier);else if(r.variableDeclaration.type)grammarErrorOnFirstToken(r.variableDeclaration.type,e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation);else if(r.variableDeclaration.initializer)grammarErrorOnFirstToken(r.variableDeclaration.initializer,e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer);else{var n=r.variableDeclaration.name.text;var a=r.block.locals;if(a&&e.hasProperty(a,n)){var i=a[n];i&&0!==(2&i.flags)&&grammarErrorOnNode(i.valueDeclaration,e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,n)}}checkBlock(r.block)}t.finallyBlock&&checkBlock(t.finallyBlock)}function checkIndexConstraints(t){var r=getIndexDeclarationOfSymbol(t.symbol,1);var n=getIndexDeclarationOfSymbol(t.symbol,0);var a=getIndexTypeOfType(t,0);var i=getIndexTypeOfType(t,1);if(a||i){e.forEach(getPropertiesOfObjectType(t),(function(e){var o=getTypeOfSymbol(e);checkIndexConstraintForProperty(e,o,t,n,a,0);checkIndexConstraintForProperty(e,o,t,r,i,1)}));if(1024&t.flags&&e.isClassLike(t.symbol.valueDeclaration)){var o=t.symbol.valueDeclaration;for(var s=0,c=o.members;s>o;case 45:return a>>>o;case 43:return a<1&&e.forEach(a.declarations,(function(t){e.isConstEnumDeclaration(t)!==n&&error(t.name,e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const)}));var o=false;e.forEach(a.declarations,(function(t){if(224!==t.kind)return false;var r=t;if(!r.members.length)return false;var n=r.members[0];n.initializer||(o?error(n.name,e.Diagnostics.In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element):o=true)}))}}}function getFirstNonAmbientClassOrFunctionDeclaration(t){var r=t.declarations;for(var n=0,a=r;n1&&!a&&e.isInstantiatedModule(t,p.preserveConstEnums||p.isolatedModules)){var c=getFirstNonAmbientClassOrFunctionDeclaration(s);c&&(e.getSourceFileOfNode(t)!==e.getSourceFileOfNode(c)?error(t.name,e.Diagnostics.A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged):t.pos1)for(var d=0,p=l;d1||1===n.length&&n[0].declaration!==t}return false}function getNodeCheckFlags(e){return getNodeLinks(e).flags}function getEnumMemberValue(e){computeEnumMemberValues(e.parent);return getNodeLinks(e).enumMemberValue}function getConstantValue(t){if(255===t.kind)return getEnumMemberValue(t);var r=getNodeLinks(t).resolvedSymbol;return r&&8&r.flags&&e.isConstEnumDeclaration(r.valueDeclaration.parent)?getEnumMemberValue(r.valueDeclaration):void 0}function isFunctionType(e){return 80896&e.flags&&getSignaturesOfType(e,0).length>0}function getTypeReferenceSerializationKind(t){var r=resolveEntityName(t,107455,true);var n=r?getTypeOfSymbol(r):void 0;if(n&&isConstructorType(n))return e.TypeReferenceSerializationKind.TypeWithConstructSignatureAndValue;var a=resolveEntityName(t,793056,true);if(!a)return e.TypeReferenceSerializationKind.ObjectType;var i=getDeclaredTypeOfSymbol(a);return i===R?e.TypeReferenceSerializationKind.Unknown:1&i.flags?e.TypeReferenceSerializationKind.ObjectType:isTypeOfKind(i,16)?e.TypeReferenceSerializationKind.VoidType:isTypeOfKind(i,8)?e.TypeReferenceSerializationKind.BooleanType:isTypeOfKind(i,132)?e.TypeReferenceSerializationKind.NumberLikeType:isTypeOfKind(i,258)?e.TypeReferenceSerializationKind.StringLikeType:isTypeOfKind(i,8192)?e.TypeReferenceSerializationKind.ArrayLikeType:isTypeOfKind(i,16777216)?e.TypeReferenceSerializationKind.ESSymbolType:isFunctionType(i)?e.TypeReferenceSerializationKind.TypeWithCallSignature:isArrayType(i)?e.TypeReferenceSerializationKind.ArrayLikeType:e.TypeReferenceSerializationKind.ObjectType}function writeTypeOfDeclaration(e,t,r,n){var a=getSymbolOfNode(e);var i=!a||a.flags&(2048|131072)?R:getTypeOfSymbol(a);getSymbolDisplayBuilder().buildTypeDisplay(i,n,t,r)}function writeReturnTypeOfSignatureDeclaration(e,t,r,n){var a=getSignatureFromDeclaration(e);getSymbolDisplayBuilder().buildTypeDisplay(getReturnTypeOfSignature(a),n,t,r)}function writeTypeOfExpression(e,t,r,n){var a=getWidenedType(getTypeOfExpression(e));getSymbolDisplayBuilder().buildTypeDisplay(a,n,t,r)}function writeBaseConstructorTypeOfClass(e,t,r,n){var a=getDeclaredTypeOfSymbol(getSymbolOfNode(e));resolveBaseTypesOfClass(a);var i=a.resolvedBaseTypes.length?a.resolvedBaseTypes[0]:R;getSymbolDisplayBuilder().buildTypeDisplay(i,n,t,r)}function hasGlobalName(t){return e.hasProperty(U,t)}function getReferencedValueSymbol(e){return getNodeLinks(e).resolvedSymbol||resolveName(e,e.text,107455|1048576|8388608,void 0,void 0)}function getReferencedValueDeclaration(t){e.Debug.assert(!e.nodeIsSynthesized(t));var r=getReferencedValueSymbol(t);return r&&getExportSymbolOfValueSymbolIfExported(r).valueDeclaration}function createResolver(){var r=t.getResolvedTypeReferenceDirectives();var n;if(r){n=e.createFileMap();for(var a in r)if(e.hasProperty(r,a)){var i=r[a];if(i){var o=t.getSourceFile(i.resolvedFileName);n.set(o.path,a)}}}return{getReferencedExportContainer:getReferencedExportContainer,getReferencedImportDeclaration:getReferencedImportDeclaration,getReferencedDeclarationWithCollidingName:getReferencedDeclarationWithCollidingName,isDeclarationWithCollidingName:isDeclarationWithCollidingName,isValueAliasDeclaration:isValueAliasDeclaration,hasGlobalName:hasGlobalName,isReferencedAliasDeclaration:isReferencedAliasDeclaration,getNodeCheckFlags:getNodeCheckFlags,isTopLevelValueImportEqualsWithEntityName:isTopLevelValueImportEqualsWithEntityName,isDeclarationVisible:isDeclarationVisible,isImplementationOfOverload:isImplementationOfOverload,writeTypeOfDeclaration:writeTypeOfDeclaration,writeReturnTypeOfSignatureDeclaration:writeReturnTypeOfSignatureDeclaration,writeTypeOfExpression:writeTypeOfExpression,writeBaseConstructorTypeOfClass:writeBaseConstructorTypeOfClass,isSymbolAccessible:isSymbolAccessible,isEntityNameVisible:isEntityNameVisible,getConstantValue:getConstantValue,collectLinkedAliases:collectLinkedAliases,getReferencedValueDeclaration:getReferencedValueDeclaration,getTypeReferenceSerializationKind:getTypeReferenceSerializationKind,isOptionalParameter:isOptionalParameter,moduleExportsSomeValue:moduleExportsSomeValue,isArgumentsLocalBinding:isArgumentsLocalBinding,getExternalModuleFileFromDeclaration:getExternalModuleFileFromDeclaration,getTypeReferenceDirectivesForEntityName:getTypeReferenceDirectivesForEntityName,getTypeReferenceDirectivesForSymbol:getTypeReferenceDirectivesForSymbol};function getTypeReferenceDirectivesForEntityName(e){if(n){var t=172===e.kind||69===e.kind&&isInTypeQuery(e)?107455|1048576:793056|1536;var r=resolveEntityName(e,t,true);return r&&r!==S?getTypeReferenceDirectivesForSymbol(r,t):void 0}}function getTypeReferenceDirectivesForSymbol(t,r){if(n&&isSymbolFromTypeDeclarationFile(t)){var a;for(var i=0,o=t.declarations;i=2){ie=e.memoize((function(){return getGlobalType("Symbol")}));oe=e.memoize((function(){return getGlobalType("Iterable",1)}));se=e.memoize((function(){return getGlobalType("Iterator",1)}));ce=e.memoize((function(){return getGlobalType("IterableIterator",1)}))}else{ie=e.memoize((function(){return M}));oe=e.memoize((function(){return B}));se=e.memoize((function(){return B}));ce=e.memoize((function(){return B}))}re=createArrayType(C);var l=getGlobalSymbol("ReadonlyArray",793056,void 0);Y=l&&getTypeOfGlobalSymbol(l,1);ne=Y?createTypeFromGenericGlobalType(Y,[C]):re}function createInstantiatedPromiseLikeType(){var e=fe();return e!==B?createTypeReference(e,[C]):M}function createThenableType(){var e=createSymbol(67108864|4,"then");getSymbolLinks(e).type=Q;var t=createObjectType(65536);t.properties=[e];t.members=createSymbolTable(t.properties);t.callSignatures=[];t.constructSignatures=[];return t}function checkGrammarDecorators(t){if(!t.decorators)return false;if(!e.nodeCanBeDecorated(t))return 147!==t.kind||e.nodeIsPresent(t.body)?grammarErrorOnFirstToken(t,e.Diagnostics.Decorators_are_not_valid_here):grammarErrorOnFirstToken(t,e.Diagnostics.A_decorator_can_only_decorate_a_method_implementation_not_an_overload);if(149===t.kind||150===t.kind){var r=e.getAllAccessorDeclarations(t.parent.members,t);if(r.firstAccessor.decorators&&t===r.secondAccessor)return grammarErrorOnFirstToken(t,e.Diagnostics.Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name)}return false}function checkGrammarModifiers(t){switch(t.kind){case 149:case 150:case 148:case 145:case 144:case 147:case 146:case 153:case 225:case 230:case 229:case 236:case 235:case 179:case 180:case 142:break;case 220:if(t.modifiers&&(t.modifiers.length>1||118!==t.modifiers[0].kind)&&226!==t.parent.kind&&256!==t.parent.kind)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here);break;case 221:case 222:case 200:case 223:if(t.modifiers&&226!==t.parent.kind&&256!==t.parent.kind)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here);break;case 224:if(t.modifiers&&(t.modifiers.length>1||74!==t.modifiers[0].kind)&&226!==t.parent.kind&&256!==t.parent.kind)return grammarErrorOnFirstToken(t,e.Diagnostics.Modifiers_cannot_appear_here);break;default:return false}if(t.modifiers){var r,n,a,i,o,s;var c=0;for(var l=0,u=t.modifiers;l".length;return grammarErrorAtPos(n,a,i-a,e.Diagnostics.Type_parameter_list_cannot_be_empty)}}function checkGrammarParameterList(t){var r=false;var n=t.length;for(var a=0;a".length;return grammarErrorAtPos(n,a,i-a,e.Diagnostics.Type_argument_list_cannot_be_empty)}}function checkGrammarTypeArguments(e,t){return checkGrammarForDisallowedTrailingComma(t)||checkGrammarForAtLeastOneTypeArgument(e,t)}function checkGrammarForOmittedArgument(t,r){if(r){var n=e.getSourceFileOfNode(t);for(var a=0,i=r;a1)return grammarErrorOnFirstToken(o.types[1],e.Diagnostics.Classes_can_only_extend_a_single_class);r=true}else{e.Debug.assert(106===o.token);if(n)return grammarErrorOnFirstToken(o,e.Diagnostics.implements_clause_already_seen);n=true}checkGrammarHeritageClause(o)}}function checkGrammarInterfaceDeclaration(t){var r=false;if(t.heritageClauses)for(var n=0,a=t.heritageClauses;n1){var a=207===t.kind?e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:e.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement;return grammarErrorOnFirstToken(r.declarations[1],a)}var i=n[0];if(i.initializer){var a=207===t.kind?e.Diagnostics.The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:e.Diagnostics.The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer;return grammarErrorOnNode(i.name,a)}if(i.type){var a=207===t.kind?e.Diagnostics.The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:e.Diagnostics.The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation;return grammarErrorOnNode(i,a)}}}return false}function checkGrammarAccessor(t){var r=t.kind;if(m<1)return grammarErrorOnNode(t.name,e.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher);if(e.isInAmbientContext(t))return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context);if(!(void 0!==t.body||128&t.flags))return grammarErrorAtPos(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{");if(t.typeParameters)return grammarErrorOnNode(t.name,e.Diagnostics.An_accessor_cannot_have_type_parameters);if(!doesAccessorHaveCorrectParameterCount(t))return grammarErrorOnNode(t.name,149===r?e.Diagnostics.A_get_accessor_cannot_have_parameters:e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter);if(150===r){if(t.type)return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation);var n=t.parameters[0];if(n.dotDotDotToken)return grammarErrorOnNode(n.dotDotDotToken,e.Diagnostics.A_set_accessor_cannot_have_rest_parameter);if(n.questionToken)return grammarErrorOnNode(n.questionToken,e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter);if(n.initializer)return grammarErrorOnNode(t.name,e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer)}}function doesAccessorHaveCorrectParameterCount(e){return getAccessorThisParameter(e)||e.parameters.length===(149===e.kind?0:1)}function getAccessorThisParameter(e){if(e.parameters.length===(149===e.kind?1:2)&&69===e.parameters[0].name.kind&&97===e.parameters[0].name.originalKeywordKind)return e.parameters[0]}function getFunctionLikeThisParameter(e){if(e.parameters.length&&69===e.parameters[0].name.kind&&97===e.parameters[0].name.originalKeywordKind)return e.parameters[0]}function checkGrammarForNonSymbolComputedProperty(t,r){if(e.isDynamicName(t))return grammarErrorOnNode(t,r)}function checkGrammarMethod(t){if(checkGrammarDisallowedModifiersOnObjectLiteralExpressionMethod(t)||checkGrammarFunctionLikeDeclaration(t)||checkGrammarForGenerator(t))return true;if(171===t.parent.kind){if(checkGrammarForInvalidQuestionMark(t,t.questionToken,e.Diagnostics.An_object_member_cannot_be_declared_optional))return true;if(void 0===t.body)return grammarErrorAtPos(e.getSourceFileOfNode(t),t.end-1,";".length,e.Diagnostics._0_expected,"{")}if(e.isClassLike(t.parent)){if(e.isInAmbientContext(t))return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol);if(!t.body)return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol)}else{if(222===t.parent.kind)return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol);if(159===t.parent.kind)return checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol)}}function checkGrammarBreakOrContinueStatement(t){var r=t;while(r){if(e.isFunctionLike(r))return grammarErrorOnNode(t,e.Diagnostics.Jump_target_cannot_cross_function_boundary);switch(r.kind){case 214:if(t.label&&r.label.text===t.label.text){var n=209===t.kind&&!e.isIterationStatement(r.statement,true);return!!n&&grammarErrorOnNode(t,e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement)}break;case 213:if(210===t.kind&&!t.label)return false;break;default:if(e.isIterationStatement(r,false)&&!t.label)return false;break}r=r.parent}if(t.label){var a=210===t.kind?e.Diagnostics.A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:e.Diagnostics.A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement;return grammarErrorOnNode(t,a)}var a=210===t.kind?e.Diagnostics.A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:e.Diagnostics.A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement;return grammarErrorOnNode(t,a)}function checkGrammarBindingElement(t){if(t.dotDotDotToken){var r=t.parent.elements;if(t!==e.lastOrUndefined(r))return grammarErrorOnNode(t,e.Diagnostics.A_rest_element_must_be_last_in_an_array_destructuring_pattern);if(168===t.name.kind||167===t.name.kind)return grammarErrorOnNode(t.name,e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern);if(t.initializer)return grammarErrorAtPos(e.getSourceFileOfNode(t),t.initializer.pos-1,1,e.Diagnostics.A_rest_element_cannot_have_an_initializer)}}function checkGrammarVariableDeclaration(t){if(207!==t.parent.parent.kind&&208!==t.parent.parent.kind)if(e.isInAmbientContext(t)){if(t.initializer){var r="=".length;return grammarErrorAtPos(e.getSourceFileOfNode(t),t.initializer.pos-r,r,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}}else if(!t.initializer){if(e.isBindingPattern(t.name)&&!e.isBindingPattern(t.parent))return grammarErrorOnNode(t,e.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(e.isConst(t))return grammarErrorOnNode(t,e.Diagnostics.const_declarations_must_be_initialized)}var n=e.isLet(t)||e.isConst(t);return n&&checkGrammarNameInLetOrConstDeclarations(t.name)}function checkGrammarNameInLetOrConstDeclarations(t){if(69===t.kind){if(108===t.originalKeywordKind)return grammarErrorOnNode(t,e.Diagnostics.let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations)}else{var r=t.elements;for(var n=0,a=r;n0}function grammarErrorOnFirstToken(t,r,n,a,i){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Ue.add(e.createFileDiagnostic(o,s.start,s.length,r,n,a,i));return true}}function grammarErrorAtPos(t,r,n,a,i,o,s){if(!hasParseDiagnostics(t)){Ue.add(e.createFileDiagnostic(t,r,n,a,i,o,s));return true}}function grammarErrorOnNode(t,r,n,a,i){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){Ue.add(e.createDiagnosticForNode(t,r,n,a,i));return true}}function checkGrammarConstructorTypeParameters(t){if(t.typeParameters)return grammarErrorAtPos(e.getSourceFileOfNode(t),t.typeParameters.pos,t.typeParameters.end-t.typeParameters.pos,e.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration)}function checkGrammarConstructorTypeAnnotation(t){if(t.type)return grammarErrorOnNode(t.type,e.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration)}function checkGrammarProperty(t){if(e.isClassLike(t.parent)){if(checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol))return true}else if(222===t.parent.kind){if(checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol))return true;if(t.initializer)return grammarErrorOnNode(t.initializer,e.Diagnostics.An_interface_property_cannot_have_an_initializer)}else if(159===t.parent.kind){if(checkGrammarForNonSymbolComputedProperty(t.name,e.Diagnostics.A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol))return true;if(t.initializer)return grammarErrorOnNode(t.initializer,e.Diagnostics.A_type_literal_property_cannot_have_an_initializer)}if(e.isInAmbientContext(t)&&t.initializer)return grammarErrorOnFirstToken(t.initializer,e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts)}function checkGrammarTopLevelElementForRequiredDeclareModifier(t){return!(222===t.kind||223===t.kind||230===t.kind||229===t.kind||236===t.kind||235===t.kind||2&t.flags||t.flags&(1|512))&&grammarErrorOnFirstToken(t,e.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file)}function checkGrammarTopLevelElementsForRequiredDeclareModifier(t){for(var r=0,n=t.statements;r=1)return grammarErrorOnNode(t,e.Diagnostics.Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher)}function grammarErrorAfterFirstToken(t,r,n,a,i){var o=e.getSourceFileOfNode(t);if(!hasParseDiagnostics(o)){var s=e.getSpanOfTokenAtPosition(o,t.pos);Ue.add(e.createFileDiagnostic(o,e.textSpanEnd(s),0,r,n,a,i));return true}}var it}e.createTypeChecker=createTypeChecker})(l||(l={}));var l;(function(e){var t;var r={emittedLine:1,emittedColumn:1,sourceLine:1,sourceColumn:1,sourceIndex:0};function getNullSourceMapWriter(){void 0===t&&(t={getSourceMapData:function(){},setSourceFile:function(e){},emitStart:function(e){},emitEnd:function(e,t){},emitPos:function(e){},changeEmitSourcePos:function(){},getText:function(){},getSourceMappingURL:function(){},initialize:function(e,t,r,n){},reset:function(){}});return t}e.getNullSourceMapWriter=getNullSourceMapWriter;function createSourceMapWriter(t,n){var a=t.getCompilerOptions();var i;var o;var s=false;var c=false;var l;var u;var _;var d;var p;return{getSourceMapData:function(){return p},setSourceFile:setSourceFile,emitPos:emitPos,emitStart:emitStart,emitEnd:emitEnd,changeEmitSourcePos:changeEmitSourcePos,getText:getText,getSourceMappingURL:getSourceMappingURL,initialize:initialize,reset:reset};function initialize(n,s,c,m){p&&reset();i=void 0;l=-1;u=void 0;_=r;d=0;p={sourceMapFilePath:s,jsSourceMappingURL:a.inlineSourceMap?void 0:e.getBaseFileName(e.normalizeSlashes(s)),sourceMapFile:e.getBaseFileName(e.normalizeSlashes(n)),sourceMapSourceRoot:a.sourceRoot||"",sourceMapSources:[],inputSourceFileNames:[],sourceMapNames:[],sourceMapMappings:"",sourceMapSourcesContent:a.inlineSources?[]:void 0,sourceMapDecodedMappings:[]};p.sourceMapSourceRoot=e.normalizeSlashes(p.sourceMapSourceRoot);p.sourceMapSourceRoot.length&&47!==p.sourceMapSourceRoot.charCodeAt(p.sourceMapSourceRoot.length-1)&&(p.sourceMapSourceRoot+=e.directorySeparator);if(a.mapRoot){o=e.normalizeSlashes(a.mapRoot);if(!m){e.Debug.assert(1===c.length);o=e.getDirectoryPath(e.getSourceFilePathInNewDir(c[0],t,o))}if(e.isRootedDiskPath(o)||e.isUrl(o))p.jsSourceMappingURL=e.combinePaths(o,p.jsSourceMappingURL);else{o=e.combinePaths(t.getCommonSourceDirectory(),o);p.jsSourceMappingURL=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizePath(n)),e.combinePaths(o,p.jsSourceMappingURL),t.getCurrentDirectory(),t.getCanonicalFileName,true)}}else o=e.getDirectoryPath(e.normalizePath(n))}function reset(){i=void 0;o=void 0;l=void 0;u=void 0;_=void 0;d=void 0;p=void 0}function updateLastEncodedAndRecordedSpans(){if(c){c=false;u.emittedLine=_.emittedLine;u.emittedColumn=_.emittedColumn;p.sourceMapDecodedMappings.pop();_=p.sourceMapDecodedMappings.length?p.sourceMapDecodedMappings[p.sourceMapDecodedMappings.length-1]:r;var e=p.sourceMapMappings;var t=e.length-1;for(;t>=0;t--){var n=e.charAt(t);if(","===n)break;if(";"===n&&0!==t&&";"!==e.charAt(t-1))break}p.sourceMapMappings=e.substr(0,Math.max(0,t))}}function encodeLastRecordedSourceMapSpan(){if(u&&u!==_){var t=_.emittedColumn;if(_.emittedLine===u.emittedLine)p.sourceMapMappings&&(p.sourceMapMappings+=",");else{for(var r=_.emittedLine;r=0){e.Debug.assert(false,"We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this");p.sourceMapMappings+=base64VLQFormatEncode(u.nameIndex-d);d=u.nameIndex}_=u;p.sourceMapDecodedMappings.push(_)}}function emitPos(t){if(-1!==t){var r=e.getLineAndCharacterOfPosition(i,t);r.line++;r.character++;var a=n.getLine();var o=n.getColumn();if(!u||u.emittedLine!==a||u.emittedColumn!==o||u.sourceIndex===l&&(u.sourceLine>r.line||u.sourceLine===r.line&&u.sourceColumn>r.character)){encodeLastRecordedSourceMapSpan();u={emittedLine:a,emittedColumn:o,sourceLine:r.line,sourceColumn:r.character,sourceIndex:l};s=false}else if(!s){u.sourceLine=r.line;u.sourceColumn=r.character;u.sourceIndex=l}updateLastEncodedAndRecordedSpans()}}function getStartPos(t){var r=!!t.decorators;return-1!==t.pos?e.skipTrivia(i.text,r?t.decorators.end:t.pos):-1}function emitStart(e){emitPos(getStartPos(e))}function emitEnd(e,t){emitPos(e.end);s=t}function changeEmitSourcePos(){e.Debug.assert(!c);c=true}function setSourceFile(r){i=r;var n=a.sourceRoot?t.getCommonSourceDirectory():o;var s=e.getRelativePathToDirectoryOrUrl(n,i.fileName,t.getCurrentDirectory(),t.getCanonicalFileName,true);l=e.indexOf(p.sourceMapSources,s);if(-1===l){l=p.sourceMapSources.length;p.sourceMapSources.push(s);p.inputSourceFileNames.push(r.fileName);a.inlineSources&&p.sourceMapSourcesContent.push(r.text)}}function getText(){encodeLastRecordedSourceMapSpan();return e.stringify({version:3,file:p.sourceMapFile,sourceRoot:p.sourceMapSourceRoot,sources:p.sourceMapSources,names:p.sourceMapNames,mappings:p.sourceMapMappings,sourcesContent:p.sourceMapSourcesContent})}function getSourceMappingURL(){if(a.inlineSourceMap){var t=e.convertToBase64(getText());return p.jsSourceMappingURL="data:application/json;base64,"+t}return p.jsSourceMappingURL}}e.createSourceMapWriter=createSourceMapWriter;var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function base64FormatEncode(e){if(e<64)return n.charAt(e);throw TypeError(e+": not a 64 based value")}function base64VLQFormatEncode(e){e<0?e=(-e<<1)+1:e<<=1;var t="";do{var r=31&e;e>>=5;e>0&&(r|=32);t+=base64FormatEncode(r)}while(e>0);return t}})(l||(l={}));var l;(function(e){function getDeclarationDiagnostics(t,r,n){var a=e.createDiagnosticCollection();e.forEachExpectedEmitFile(t,getDeclarationDiagnosticsFromFile,n);return a.getDiagnostics(n?n.fileName:void 0);function getDeclarationDiagnosticsFromFile(e,n,i){var o=e.declarationFilePath;emitDeclarations(t,r,a,o,n,i)}}e.getDeclarationDiagnostics=getDeclarationDiagnostics;function emitDeclarations(t,r,n,a,i,o){var s=t.getNewLine();var c=t.getCompilerOptions();var l;var u;var _;var d;var p;var m;createAndSetNewTextWriterWithSymbolWriter();var g;var f;var y;var h;var v;var b;var T=false;var k;var S=c.removeComments?function(e){}:writeJsDocComments;var x=c.stripInternal?stripInternal:emitNode;var C;var D=[];var E;var N="";var O;var A=[];var P=false;var F=[];e.forEach(i,(function(r){if(!e.isSourceFileJavaScript(r)){c.noResolve||e.forEach(r.referencedFiles,(function(n){var a=e.tryResolveScriptReference(t,r,n);if(a&&!e.contains(A,a)){writeReferencePath(a,!o&&!P)&&(P=true);A.push(a)}}));f=false;if(o&&e.isExternalModule(r)){if(e.isExternalModule(r)){C=true;l('declare module "'+e.getResolvedExternalModuleName(t,r)+'" {');u();_();emitSourceFile(r);d();l("}");u()}}else{C=false;emitSourceFile(r)}if(D.length){var n=m;e.forEach(D,(function(t){if(t.isVisible&&!t.asynchronousOutput){e.Debug.assert(230===t.node.kind);createAndSetNewTextWriterWithSymbolWriter();e.Debug.assert(0===t.indent||1===t.indent&&o);for(var r=0;r'+s);return{reportedDeclarationError:T,moduleElementDeclarationEmitInfo:F,synchronousDeclarationOutput:m.getText(),referencesOutput:N};function hasInternalAnnotation(e){var t=y.substring(e.pos,e.end);return t.indexOf("@internal")>=0}function stripInternal(t){if(t){var r=e.getLeadingCommentRanges(y,t.pos);if(e.forEach(r,hasInternalAnnotation))return;emitNode(t)}}function createAndSetNewTextWriterWithSymbolWriter(){var t=e.createTextWriter(s);t.trackSymbol=trackSymbol;t.reportInaccessibleThisError=reportInaccessibleThisError;t.writeKeyword=t.write;t.writeOperator=t.write;t.writePunctuation=t.write;t.writeSpace=t.write;t.writeStringLiteral=t.writeLiteral;t.writeParameter=t.write;t.writeSymbol=t.write;setWriter(t)}function setWriter(e){m=e;l=e.write;p=e.writeTextOfNode;u=e.writeLine;_=e.increaseIndent;d=e.decreaseIndent}function writeAsynchronousModuleElements(t){var r=m;e.forEach(t,(function(t){var r;218===t.kind?r=t.parent.parent:233===t.kind||234===t.kind||231===t.kind?e.Debug.fail("We should be getting ImportDeclaration instead to write"):r=t;var n=e.forEach(D,(function(e){return e.node===r?e:void 0}));!n&&E&&(n=e.forEach(E,(function(e){return e.node===r?e:void 0})));if(n)if(230===n.node.kind)n.isVisible=true;else{createAndSetNewTextWriterWithSymbolWriter();for(var a=n.indent;a;a--)_();if(225===r.kind){e.Debug.assert(void 0===E);E=[]}writeModuleElement(r);if(225===r.kind){n.subModuleElementDeclarationEmitInfo=E;E=void 0}n.asynchronousOutput=m.getText()}}));setWriter(r)}function recordTypeReferenceDirectivesIfNecessary(t){if(t){O||(O={});for(var r=0,n=t;r")}}}function emitTypeReference(e){emitEntityName(e.typeName);if(e.typeArguments){l("<");emitCommaList(e.typeArguments,emitType);l(">")}}function emitTypePredicate(e){p(y,e.parameterName);l(" is ");emitType(e.type)}function emitTypeQuery(e){l("typeof ");emitEntityName(e.exprName)}function emitArrayType(e){emitType(e.elementType);l("[]")}function emitTupleType(e){l("[");emitCommaList(e.elementTypes,emitType);l("]")}function emitUnionType(e){emitSeparatedList(e.types," | ",emitType)}function emitIntersectionType(e){emitSeparatedList(e.types," & ",emitType)}function emitParenType(e){l("(");emitType(e.type);l(")")}function emitTypeLiteral(e){l("{");if(e.members.length){u();_();emitLines(e.members);d()}l("}")}}function emitSourceFile(t){y=t.text;h=e.getLineStarts(t);v=t.identifiers;b=e.isExternalModule(t);g=t;e.emitDetachedComments(y,h,m,e.writeCommentRange,t,s,true);emitLines(t.statements)}function getExportDefaultTempVariableName(){var t="_default";if(!e.hasProperty(v,t))return t;var r=0;while(true){r++;var n=t+"_"+r;if(!e.hasProperty(v,n))return n}}function emitExportAssignment(t){if(69===t.expression.kind){l(t.isExportEquals?"export = ":"export default ");p(y,t.expression)}else{var n=getExportDefaultTempVariableName();C||l("declare ");l("var ");l(n);l(": ");m.getSymbolAccessibilityDiagnostic=getDefaultExportAccessibilityDiagnostic;r.writeTypeOfExpression(t.expression,g,2,m);l(";");u();l(t.isExportEquals?"export = ":"export default ");l(n)}l(";");u();if(69===t.expression.kind){var a=r.collectLinkedAliases(t.expression);writeAsynchronousModuleElements(a)}function getDefaultExportAccessibilityDiagnostic(r){return{diagnosticMessage:e.Diagnostics.Default_export_of_the_module_has_or_is_using_private_name_0,errorNode:t}}}function isModuleElementVisible(e){return r.isDeclarationVisible(e)}function emitModuleElement(e,t){if(t)writeModuleElement(e);else if(229===e.kind||256===e.parent.kind&&b){var n=void 0;if(E&&256!==e.parent.kind)E.push({node:e,outputPos:m.getTextPos(),indent:m.getIndent(),isVisible:n});else{if(230===e.kind){var a=e;a.importClause&&(n=a.importClause.name&&r.isDeclarationVisible(a.importClause)||isVisibleNamedBinding(a.importClause.namedBindings))}D.push({node:e,outputPos:m.getTextPos(),indent:m.getIndent(),isVisible:n})}}}function writeModuleElement(t){switch(t.kind){case 220:return writeFunctionDeclaration(t);case 200:return writeVariableStatement(t);case 222:return writeInterfaceDeclaration(t);case 221:return writeClassDeclaration(t);case 223:return writeTypeAliasDeclaration(t);case 224:return writeEnumDeclaration(t);case 225:return writeModuleDeclaration(t);case 229:return writeImportEqualsDeclaration(t);case 230:return writeImportDeclaration(t);default:e.Debug.fail("Unknown symbol kind")}}function emitModuleElementDeclarationFlags(e){if(256===e.parent.kind){1&e.flags&&l("export ");512&e.flags?l("default "):222===e.kind||C||l("declare ")}}function emitClassMemberDeclarationFlags(e){8&e?l("private "):16&e&&l("protected ");32&e&&l("static ");64&e&&l("readonly ");128&e&&l("abstract ")}function writeImportEqualsDeclaration(t){S(t);1&t.flags&&l("export ");l("import ");p(y,t.name);l(" = ");if(e.isInternalModuleImportEqualsDeclaration(t)){emitTypeWithNewGetSymbolAccessibilityDiagnostic(t.moduleReference,getImportEntityNameVisibilityError);l(";")}else{l("require(");emitExternalModuleSpecifier(t);l(");")}m.writeLine();function getImportEntityNameVisibilityError(r){return{diagnosticMessage:e.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:t,typeName:t.name}}}function isVisibleNamedBinding(t){if(t)return 232===t.kind?r.isDeclarationVisible(t):e.forEach(t.elements,(function(e){return r.isDeclarationVisible(e)}))}function writeImportDeclaration(e){S(e);1&e.flags&&l("export ");l("import ");if(e.importClause){var t=m.getTextPos();e.importClause.name&&r.isDeclarationVisible(e.importClause)&&p(y,e.importClause.name);if(e.importClause.namedBindings&&isVisibleNamedBinding(e.importClause.namedBindings)){t!==m.getTextPos()&&l(", ");if(232===e.importClause.namedBindings.kind){l("* as ");p(y,e.importClause.namedBindings.name)}else{l("{ ");emitCommaList(e.importClause.namedBindings.elements,emitImportOrExportSpecifier,r.isDeclarationVisible);l(" }")}}l(" from ")}emitExternalModuleSpecifier(e);l(";");m.writeLine()}function emitExternalModuleSpecifier(n){f=f||225!==n.kind;var a;if(229===n.kind){var i=n;a=e.getExternalModuleImportEqualsDeclarationExpression(i)}else if(225===n.kind)a=n.name;else{var i=n;a=i.moduleSpecifier}if(9===a.kind&&o&&(c.out||c.outFile)){var s=e.getExternalModuleNameFromDeclaration(t,r,n);if(s){l('"');l(s);l('"');return}}p(y,a)}function emitImportOrExportSpecifier(e){if(e.propertyName){p(y,e.propertyName);l(" as ")}p(y,e.name)}function emitExportSpecifier(e){emitImportOrExportSpecifier(e);var t=r.collectLinkedAliases(e.propertyName||e.name);writeAsynchronousModuleElements(t)}function emitExportDeclaration(e){S(e);l("export ");if(e.exportClause){l("{ ");emitCommaList(e.exportClause.elements,emitExportSpecifier);l(" }")}else l("*");if(e.moduleSpecifier){l(" from ");emitExternalModuleSpecifier(e)}l(";");m.writeLine()}function writeModuleDeclaration(t){S(t);emitModuleElementDeclarationFlags(t);if(e.isGlobalScopeAugmentation(t))l("global ");else{4096&t.flags?l("namespace "):l("module ");e.isExternalModuleAugmentation(t)?emitExternalModuleSpecifier(t):p(y,t.name)}while(t.body&&226!==t.body.kind){t=t.body;l(".");p(y,t.name)}var r=g;if(t.body){g=t;l(" {");u();_();emitLines(t.body.statements);d();l("}");u();g=r}else l(";")}function writeTypeAliasDeclaration(t){var r=g;g=t;S(t);emitModuleElementDeclarationFlags(t);l("type ");p(y,t.name);emitTypeParameters(t.typeParameters);l(" = ");emitTypeWithNewGetSymbolAccessibilityDiagnostic(t.type,getTypeAliasDeclarationVisibilityError);l(";");u();g=r;function getTypeAliasDeclarationVisibilityError(r){return{diagnosticMessage:e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:t.type,typeName:t.name}}}function writeEnumDeclaration(t){S(t);emitModuleElementDeclarationFlags(t);e.isConst(t)&&l("const ");l("enum ");p(y,t.name);l(" {");u();_();emitLines(t.members);d();l("}");u()}function emitEnumMemberDeclaration(e){S(e);p(y,e.name);var t=r.getConstantValue(e);if(void 0!==t){l(" = ");l(t.toString())}l(",");u()}function isPrivateMethodTypeParameter(e){return 147===e.parent.kind&&8&e.parent.flags}function emitTypeParameters(t){function emitTypeParameter(t){_();S(t);d();p(y,t.name);if(t.constraint&&!isPrivateMethodTypeParameter(t)){l(" extends ");if(156===t.parent.kind||157===t.parent.kind||t.parent.parent&&159===t.parent.parent.kind){e.Debug.assert(147===t.parent.kind||146===t.parent.kind||156===t.parent.kind||157===t.parent.kind||151===t.parent.kind||152===t.parent.kind);emitType(t.constraint)}else emitTypeWithNewGetSymbolAccessibilityDiagnostic(t.constraint,getTypeParameterConstraintVisibilityError)}function getTypeParameterConstraintVisibilityError(r){var n;switch(t.parent.kind){case 221:n=e.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 222:n=e.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 152:n=e.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 151:n=e.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 147:case 146:n=32&t.parent.flags?e.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:221===t.parent.parent.kind?e.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 220:n=e.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;default:e.Debug.fail("This is unknown parent for type parameter: "+t.parent.kind)}return{diagnosticMessage:n,errorNode:t,typeName:t.name}}}if(t){l("<");emitCommaList(t,emitTypeParameter);l(">")}}function emitHeritageClause(t,n){if(t){l(n?" implements ":" extends ");emitCommaList(t,emitTypeOfTypeReference)}function emitTypeOfTypeReference(t){if(e.isSupportedExpressionWithTypeArguments(t))emitTypeWithNewGetSymbolAccessibilityDiagnostic(t,getHeritageClauseVisibilityError);else if(n||93!==t.expression.kind){m.getSymbolAccessibilityDiagnostic=getHeritageClauseVisibilityError;r.writeBaseConstructorTypeOfClass(g,g,2,m)}else l("null");function getHeritageClauseVisibilityError(r){var a;a=221===t.parent.parent.kind?n?e.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.Extends_clause_of_exported_class_0_has_or_is_using_private_name_1:e.Diagnostics.Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:a,errorNode:t,typeName:t.parent.parent.name}}}}function writeClassDeclaration(t){function emitParameterProperties(t){t&&e.forEach(t.parameters,(function(e){92&e.flags&&emitPropertyDeclaration(e)}))}S(t);emitModuleElementDeclarationFlags(t);128&t.flags&&l("abstract ");l("class ");p(y,t.name);var r=g;g=t;emitTypeParameters(t.typeParameters);var n=e.getClassExtendsHeritageClauseElement(t);n&&emitHeritageClause([n],false);emitHeritageClause(e.getClassImplementsHeritageClauseElements(t),true);l(" {");u();_();emitParameterProperties(e.getFirstConstructorWithBody(t));emitLines(t.members);d();l("}");u();g=r}function writeInterfaceDeclaration(t){S(t);emitModuleElementDeclarationFlags(t);l("interface ");p(y,t.name);var r=g;g=t;emitTypeParameters(t.typeParameters);emitHeritageClause(e.getInterfaceBaseTypeNodes(t),false);l(" {");u();_();emitLines(t.members);d();l("}");u();g=r}function emitPropertyDeclaration(t){if(!e.hasDynamicName(t)){S(t);emitClassMemberDeclarationFlags(t.flags);emitVariableDeclaration(t);l(";");u()}}function emitVariableDeclaration(t){if(218!==t.kind||r.isDeclarationVisible(t))if(e.isBindingPattern(t.name))emitBindingPattern(t.name);else{p(y,t.name);145!==t.kind&&144!==t.kind&&142!==t.kind||!e.hasQuestionToken(t)||l("?");145!==t.kind&&144!==t.kind||159!==t.parent.kind?8&t.flags||writeTypeOfDeclaration(t,t.type,getVariableDeclarationTypeVisibilityError):emitTypeOfVariableDeclarationFromTypeLiteral(t)}function getVariableDeclarationTypeVisibilityDiagnosticMessage(r){return 218===t.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:145===t.kind||144===t.kind?32&t.flags?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:221===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0}function getVariableDeclarationTypeVisibilityError(e){var r=getVariableDeclarationTypeVisibilityDiagnosticMessage(e);return void 0!==r?{diagnosticMessage:r,errorNode:t,typeName:t.name}:void 0}function emitBindingPattern(e){var t=[];for(var r=0,n=e.elements;r0?e.parameters[0].type:void 0}function getAccessorDeclarationTypeVisibilityError(t){var r;if(150===n.kind){r=32&n.parent.flags?t.errorModuleName?e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1:t.errorModuleName?e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:r,errorNode:n.parameters[0],typeName:n.name}}r=32&n.flags?t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0:t.errorModuleName?2===t.accessibility?e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0;return{diagnosticMessage:r,errorNode:n.name,typeName:void 0}}}function writeFunctionDeclaration(t){if(!e.hasDynamicName(t)&&!r.isImplementationOfOverload(t)){S(t);220===t.kind?emitModuleElementDeclarationFlags(t):147!==t.kind&&148!==t.kind||emitClassMemberDeclarationFlags(t.flags);if(220===t.kind){l("function ");p(y,t.name)}else if(148===t.kind)l("constructor");else{p(y,t.name);e.hasQuestionToken(t)&&l("?")}emitSignatureDeclaration(t)}}function emitSignatureDeclarationWithJsDocComments(e){S(e);emitSignatureDeclaration(e)}function emitSignatureDeclaration(t){var r=g;g=t;var n=false;if(153===t.kind){emitClassMemberDeclarationFlags(t.flags);l("[")}else{if(152===t.kind||157===t.kind)l("new ");else if(156===t.kind){var a=m.getText();if(t.typeParameters&&"<"===a.charAt(a.length-1)){n=true;l("(")}}emitTypeParameters(t.typeParameters);l("(")}emitCommaList(t.parameters,emitParameterDeclaration);153===t.kind?l("]"):l(")");var i=156===t.kind||157===t.kind;if(i||159===t.parent.kind){if(t.type){l(i?" => ":": ");emitType(t.type)}}else 148===t.kind||8&t.flags||writeReturnTypeAtSignature(t,getReturnTypeVisibilityError);g=r;if(i)n&&l(")");else{l(";");u()}function getReturnTypeVisibilityError(r){var n;switch(t.kind){case 152:n=r.errorModuleName?e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 151:n=r.errorModuleName?e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 153:n=r.errorModuleName?e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 147:case 146:n=32&t.flags?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:221===t.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:r.errorModuleName?e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 220:n=r.errorModuleName?2===r.accessibility?e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:e.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:e.Debug.fail("This is unknown kind for signature: "+t.kind)}return{diagnosticMessage:n,errorNode:t.name||t}}}function emitParameterDeclaration(t){_();S(t);t.dotDotDotToken&&l("...");e.isBindingPattern(t.name)?emitBindingPattern(t.name):p(y,t.name);r.isOptionalParameter(t)&&l("?");d();156===t.parent.kind||157===t.parent.kind||159===t.parent.parent.kind?emitTypeOfVariableDeclarationFromTypeLiteral(t):8&t.parent.flags||writeTypeOfDeclaration(t,t.type,getParameterDeclarationTypeVisibilityError);function getParameterDeclarationTypeVisibilityError(e){var r=getParameterDeclarationTypeVisibilityDiagnosticMessage(e);return void 0!==r?{diagnosticMessage:r,errorNode:t,typeName:t.name}:void 0}function getParameterDeclarationTypeVisibilityDiagnosticMessage(r){switch(t.parent.kind){case 148:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 152:return r.errorModuleName?e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 151:return r.errorModuleName?e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 147:case 146:return 32&t.parent.flags?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:221===t.parent.parent.kind?r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:r.errorModuleName?e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 220:return r.errorModuleName?2===r.accessibility?e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:e.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;default:e.Debug.fail("This is unknown parent for parameter: "+t.parent.kind)}}function emitBindingPattern(e){if(167===e.kind){l("{");emitCommaList(e.elements,emitBindingElement);l("}")}else if(168===e.kind){l("[");var t=e.elements;emitCommaList(t,emitBindingElement);t&&t.hasTrailingComma&&l(", ");l("]")}}function emitBindingElement(t){if(193===t.kind)l(" ");else if(169===t.kind){if(t.propertyName){p(y,t.propertyName);l(": ")}if(t.name)if(e.isBindingPattern(t.name))emitBindingPattern(t.name);else{e.Debug.assert(69===t.name.kind);t.dotDotDotToken&&l("...");p(y,t.name)}}}}function emitNode(e){switch(e.kind){case 220:case 225:case 229:case 222:case 221:case 223:case 224:return emitModuleElement(e,isModuleElementVisible(e));case 200:return emitModuleElement(e,isVariableStatementVisible(e));case 230:return emitModuleElement(e,!e.importClause);case 236:return emitExportDeclaration(e);case 148:case 147:case 146:return writeFunctionDeclaration(e);case 152:case 151:case 153:return emitSignatureDeclarationWithJsDocComments(e);case 149:case 150:return emitAccessorDeclaration(e);case 145:case 144:return emitPropertyDeclaration(e);case 255:return emitEnumMemberDeclaration(e);case 235:return emitExportAssignment(e);case 256:return emitSourceFile(e)}}function writeReferencePath(r,n){var i;var o=false;e.isDeclarationFile(r)?i=r.fileName:e.forEachExpectedEmitFile(t,getDeclFileName,r);if(i){i=e.getRelativePathToDirectoryOrUrl(e.getDirectoryPath(e.normalizeSlashes(a)),i,t.getCurrentDirectory(),t.getCanonicalFileName,false);N+='/// '+s}return o;function getDeclFileName(t,a,s){if(!s||n){e.Debug.assert(!!t.declarationFilePath||e.isSourceFileJavaScript(r),"Declaration file is not present only for javascript files");i=t.declarationFilePath||t.jsFilePath;o=s}}}}function writeDeclarationFile(t,r,n,a,i,o){var s=emitDeclarations(a,i,o,t,r,n);var c=s.reportedDeclarationError||a.isEmitBlocked(t)||a.getCompilerOptions().noEmit;if(!c){var l=s.referencesOutput+getDeclarationOutput(s.synchronousDeclarationOutput,s.moduleElementDeclarationEmitInfo);e.writeFile(a,o,t,l,a.getCompilerOptions().emitBOM,r)}return c;function getDeclarationOutput(t,r){var n=0;var a="";e.forEach(r,(function(e){if(e.asynchronousOutput){a+=t.substring(n,e.outputPos);a+=getDeclarationOutput(e.asynchronousOutput,e.subModuleElementDeclarationEmitInfo);n=e.outputPos}}));a+=t.substring(n);return a}}e.writeDeclarationFile=writeDeclarationFile})(l||(l={}));var l;(function(e){function getResolvedExternalModuleName(t,r){return r.moduleName||e.getExternalModuleNameFromPath(t,r.fileName)}e.getResolvedExternalModuleName=getResolvedExternalModuleName;function getExternalModuleNameFromDeclaration(t,r,n){var a=r.getExternalModuleFileFromDeclaration(n);if(a&&!e.isDeclarationFile(a))return getResolvedExternalModuleName(t,a)}e.getExternalModuleNameFromDeclaration=getExternalModuleNameFromDeclaration;var t;(function(e){e[e["Break"]=2]="Break";e[e["Continue"]=4]="Continue";e[e["Return"]=8]="Return"})(t||(t={}));var r={quot:34,amp:38,apos:39,lt:60,gt:62,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};var n;(function(e){e[e["Auto"]=0]="Auto";e[e["CountMask"]=268435455]="CountMask";e[e["_i"]=268435456]="_i"})(n||(n={}));var a;(function(e){e[e["ToOriginal"]=0]="ToOriginal";e[e["ToOutParameter"]=1]="ToOutParameter"})(a||(a={}));function emitFiles(t,n,a){var i="\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};";var o="\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};";var s='\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};';var c='\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n};';var l="\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};";var u="\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments)).next());\n });\n};";var _=n.getCompilerOptions();var d=e.getEmitScriptTarget(_);var p=e.getEmitModuleKind(_);var m=_.sourceMap||_.inlineSourceMap?[]:void 0;var g=_.listEmittedFiles?[]:void 0;var f=e.createDiagnosticCollection();var y=false;var h=n.getNewLine();var v=createFileEmitter();e.forEachExpectedEmitFile(n,emitFile,a);return{emitSkipped:y,diagnostics:f.getDiagnostics(),emittedFiles:g,sourceMaps:m};function isUniqueLocalName(t,r){for(var n=r;e.isNodeDescendentOf(n,r);n=n.nextContainer)if(n.locals&&e.hasProperty(n.locals,t)&&n.locals[t].flags&(107455|1048576|8388608))return false;return true}function setLabeledJump(e,t,r,n){if(t){e.labeledNonLocalBreaks||(e.labeledNonLocalBreaks={});e.labeledNonLocalBreaks[r]=n}else{e.labeledNonLocalContinues||(e.labeledNonLocalContinues={});e.labeledNonLocalContinues[r]=n}}function hoistVariableDeclarationFromLoop(e,t){e.hoistedLocalVariables||(e.hoistedLocalVariables=[]);visit(t.name);function visit(t){if(69===t.kind)e.hoistedLocalVariables.push(t);else for(var r=0,n=t.elements;r0);b();nodeStartPositionsAreOnSameLine(t,r[0])?a&&g(" "):v();for(var i=0,o=r.length;i1)switch(t.charCodeAt(1)){case 98:case 66:case 111:case 79:return true}return false}function emitLiteral(t){var r=getLiteralText(t);!_.sourceMap&&!_.inlineSourceMap||9!==t.kind&&!e.isTemplateLiteralKind(t.kind)?d<2&&isBinaryOrOctalIntegerLiteral(t,r)?g(t.text):g(r):a.writeLiteral(r)}function getLiteralText(t){if(d<2&&(e.isTemplateLiteralKind(t.kind)||t.hasExtendedUnicodeEscape))return getQuotedEscapedLiteralText('"',t.text,'"');if(t.parent)return e.getTextOfNodeFromSourceText(N,t);switch(t.kind){case 9:return getQuotedEscapedLiteralText('"',t.text,'"');case 11:return getQuotedEscapedLiteralText("`",t.text,"`");case 12:return getQuotedEscapedLiteralText("`",t.text,"${");case 13:return getQuotedEscapedLiteralText("}",t.text,"${");case 14:return getQuotedEscapedLiteralText("}",t.text,"`");case 8:return t.text}e.Debug.fail("Literal kind '"+t.kind+"' not accounted for.")}function getQuotedEscapedLiteralText(t,r,n){return t+e.escapeNonAsciiCharacters(e.escapeString(r))+n}function emitDownlevelRawTemplateLiteral(t){var r=e.getTextOfNodeFromSourceText(N,t);var n=11===t.kind||14===t.kind;r=r.substring(1,r.length-(n?1:2));r=r.replace(/\r\n?/g,"\n");r=e.escapeString(r);g('"'+r+'"')}function emitDownlevelTaggedTemplateArray(t,r){g("[");if(11===t.template.kind)r(t.template);else{r(t.template.head);e.forEach(t.template.templateSpans,(function(e){g(", ");r(e.literal)}))}g("]")}function emitDownlevelTaggedTemplate(t){var r=createAndRecordTempVariable(0);g("(");emit(r);g(" = ");emitDownlevelTaggedTemplateArray(t,emit);g(", ");emit(r);g(".raw = ");emitDownlevelTaggedTemplateArray(t,emitDownlevelRawTemplateLiteral);g(", ");emitParenthesizedIf(t.tag,needsParenthesisForPropertyAccessOrInvocation(t.tag));g("(");emit(r);189===t.template.kind&&e.forEach(t.template.templateSpans,(function(e){g(", ");var t=187===e.expression.kind&&24===e.expression.operatorToken.kind;emitParenthesizedIf(e.expression,t)}));g("))")}function emitTemplateExpression(t){if(d>=2)e.forEachChild(t,emit);else{var r=e.isExpression(t.parent)&&templateNeedsParens(t,t.parent);r&&g("(");var n=false;if(shouldEmitTemplateHead()){emitLiteral(t.head);n=true}for(var a=0,i=t.templateSpans.length;a0||n)&&g(" + ");emitParenthesizedIf(o.expression,s);if(0!==o.literal.text.length){g(" + ");emitLiteral(o.literal)}}r&&g(")")}function shouldEmitTemplateHead(){e.Debug.assert(0!==t.templateSpans.length);return 0!==t.head.text.length||0===t.templateSpans[0].literal.text.length}function templateNeedsParens(e,t){switch(t.kind){case 174:case 175:return t.expression===e;case 176:case 178:return false;default:return-1!==comparePrecedenceToBinaryPlus(t)}}function comparePrecedenceToBinaryPlus(e){switch(e.kind){case 187:switch(e.operatorToken.kind){case 37:case 39:case 40:return 1;case 35:case 36:return 0;default:return-1}case 190:case 188:return-1;default:return 1}}}function emitTemplateSpan(e){emit(e.expression);emit(e.literal)}function jsxEmitReact(t){function emitTagName(t){if(69===t.kind&&e.isIntrinsicJsxName(t.text)){g('"');emit(t);g('"')}else emit(t)}function emitAttributeName(e){if(/^[A-Za-z_]\w*$/.test(e.text))emit(e);else{g('"');emit(e);g('"')}}function emitJsxAttribute(e){emitAttributeName(e.name);g(": ");e.initializer?emit(e.initializer):g("true")}function emitJsxElement(t,r){var n=e.createSynthesizedNode(69);n.text=_.reactNamespace?_.reactNamespace:"React";n.parent=t;emitLeadingComments(t);emitExpressionIdentifier(n);g(".createElement(");emitTagName(t.tagName);g(", ");if(0===t.attributes.length)g("null");else{var a=t.attributes;if(e.forEach(a,(function(e){return 247===e.kind}))){g("__assign(");var i=false;for(var o=0;o0&&g(", ");emit(a[o].expression)}else{e.Debug.assert(246===a[o].kind);if(i)g(", ");else{i=true;o>0&&g(", ");g("{")}emitJsxAttribute(a[o])}i&&g("}");g(")")}else{g("{");for(var o=0,s=a.length;o0&&g(", ");emitJsxAttribute(a[o])}g("}")}}if(r){var c=void 0;var l=false;for(var o=0,s=r.length;o0&&g(" ");if(247===t[r].kind)emitJsxSpreadAttribute(t[r]);else{e.Debug.assert(246===t[r].kind);emitJsxAttribute(t[r])}}}function emitJsxOpeningOrSelfClosingElement(e){g("<");emit(e.tagName);(e.attributes.length>0||242===e.kind)&&g(" ");emitAttributes(e.attributes);242===e.kind?g("/>"):g(">")}function emitJsxClosingElement(e){g("")}function emitJsxElement(e){emitJsxOpeningOrSelfClosingElement(e.openingElement);for(var t=0,r=e.children.length;t=2){var t=e.parent;if(172===t.kind&&t.expression===e){t=t.parent;while(t&&145!==t.kind)t=t.parent;return t&&145===t.kind&&0!==(32&t.flags)&&192===t.parent.kind?t.parent:void 0}}}function emitIdentifier(r){if(K&&"arguments"==r.text&&t.isArgumentsLocalBinding(r)){var n=K.argumentsName||(K.argumentsName=makeUniqueName("arguments"));g(n)}else if(r.parent)if(isExpressionIdentifier(r)){var a=getClassExpressionInPropertyAccessInStaticPropertyDeclaration(r);if(a){var i=t.getReferencedValueDeclaration(r);if(i===a){g(getGeneratedNameForNode(i.name));return}}emitExpressionIdentifier(r)}else isNameOfNestedBlockScopedRedeclarationOrCapturedBinding(r)?g(getGeneratedNameForNode(r)):e.nodeIsSynthesized(r)?g(r.text):y(N,r);else g(r.text)}function emitThis(e){2&t.getNodeCheckFlags(e)?g("_this"):g(K?K.thisName||(K.thisName=makeUniqueName("this")):"this")}function emitSuper(e){if(d>=2)g("super");else{var r=t.getNodeCheckFlags(e);g(256&r?"_super.prototype":"_super")}}function emitObjectBindingPattern(e){g("{ ");var t=e.elements;emitList(t,0,t.length,false,t.hasTrailingComma);g(" }")}function emitArrayBindingPattern(e){g("[");var t=e.elements;emitList(t,0,t.length,false,t.hasTrailingComma);g("]")}function emitBindingElement(t){if(t.propertyName){emit(t.propertyName);g(": ")}t.dotDotDotToken&&g("...");e.isBindingPattern(t.name)?emit(t.name):emitModuleMemberName(t);emitOptional(" = ",t.initializer)}function emitSpreadElementExpression(e){g("...");emit(e.expression)}function emitYieldExpression(t){g(e.tokenToString(114));t.asteriskToken&&g("*");if(t.expression){g(" ");emit(t.expression)}}function emitAwaitExpression(t){var r=needsParenthesisForAwaitExpressionAsYield(t);r&&g("(");g(e.tokenToString(114));g(" ");emit(t.expression);r&&g(")")}function needsParenthesisForAwaitExpressionAsYield(t){return 187===t.parent.kind&&!e.isAssignmentOperator(t.parent.operatorToken.kind)||188===t.parent.kind&&t.parent.condition===t}function needsParenthesisForPropertyAccessOrInvocation(e){switch(e.kind){case 69:case 170:case 172:case 173:case 174:case 178:return false}return true}function emitListWithSpread(e,t,r,n,a){var i=0;var o=0;var s=e.length;while(i0&&g(", ");var c=e[i];if(191===c.kind){c=c.expression;emitParenthesizedIf(c,0===o&&needsParenthesisForPropertyAccessOrInvocation(c));i++;i===s&&0===o&&t&&170!==c.kind&&g(".slice()")}else{var l=i;while(l1&&a&&g(")")}function isSpreadElementExpression(e){return 191===e.kind}function emitArrayLiteral(t){var r=t.elements;if(0===r.length)g("[]");else if(d>=2||!e.forEach(r,isSpreadElementExpression)){g("[");emitLinePreservingList(t,t.elements,r.hasTrailingComma,false);g("]")}else emitListWithSpread(r,true,t.multiLine,r.hasTrailingComma,true)}function emitObjectLiteralBody(e,t){if(0!==t){g("{");if(t>0){var r=e.properties;if(t===r.length)emitLinePreservingList(e,r,d>=1,true);else{var n=e.multiLine;n?b():g(" ");emitList(r,0,t,n,false);n?T():g(" ")}}g("}")}else g("{}")}function emitDownlevelObjectLiteralWithComputedProperties(t,r){var n=t.multiLine;var a=t.properties;g("(");n&&b();var i=createAndRecordTempVariable(0);emit(i);g(" = ");emitObjectLiteralBody(t,r);for(var o=r,s=a.length;o=2&&e.asteriskToken&&g("*");emit(e.name);d<2&&g(": function ");emitSignatureAndBody(e)}function emitPropertyAssignment(e){emit(e.name);g(": ");emitTrailingCommentsOfPosition(e.initializer.pos);emit(e.initializer)}function isExportReference(e){var r=t.getReferencedExportContainer(e);return!!r}function isImportedReference(e){var r=t.getReferencedImportDeclaration(e);return r&&(231===r.kind||234===r.kind)}function emitShorthandPropertyAssignment(t){y(N,t.name);if(d<2||p!==e.ModuleKind.ES6&&isImportedReference(t.name)||isExportReference(t.name)){g(": ");emitExpressionIdentifier(t.name)}if(d>=2&&t.objectAssignmentInitializer){g(" = ");emit(t.objectAssignmentInitializer)}}function tryEmitConstantValue(t){var r=tryGetConstEnumValue(t);if(void 0!==r){g(r.toString());if(!_.removeComments){var n=172===t.kind?e.declarationNameToString(t.name):e.getTextOfNode(t.argumentExpression);g(" /* "+n+" */")}return true}return false}function tryGetConstEnumValue(e){if(!_.isolatedModules)return 172===e.kind||173===e.kind?t.getConstantValue(e):void 0}function indentIfOnDifferentLines(t,r,n,a){var i=!e.nodeIsSynthesized(t)&&!nodeEndIsOnSameLineAsNodeStart(r,n);var o=synthesizedNodeStartsOnNewLine(n);if(i||o){b();v();return true}a&&g(a);return false}function emitPropertyAccess(t){if(!tryEmitConstantValue(t))if(2===d&&95===t.expression.kind&&isInAsyncMethodWithSuperInES6(t)){var r=e.createSynthesizedNode(9);r.text=t.name.text;emitSuperAccessInAsyncMethod(t.expression,r)}else{emit(t.expression);var n=e.nodeIsSynthesized(t.expression)?-1:t.expression.end;var a=e.nodeIsSynthesized(t.expression)?-1:e.skipTrivia(N,t.expression.end)+1;var i={pos:n,end:a};var o=indentIfOnDifferentLines(t,t.expression,i);var s=false;if(!o)if(8===t.expression.kind){var c=e.getTextOfNodeFromSourceText(N,t.expression);s=c.indexOf(e.tokenToString(21))<0}else{var l=tryGetConstEnumValue(t.expression);s=isFinite(l)&&Math.floor(l)===l}g(s?" .":".");var u=indentIfOnDifferentLines(t,i,t.name);emit(t.name);decreaseIndentIf(o,u)}}function emitQualifiedName(e){emit(e.left);g(".");emit(e.right)}function emitQualifiedNameAsExpression(e,t){if(69===e.left.kind)emitEntityNameAsExpression(e.left,t);else if(t){var r=createAndRecordTempVariable(0);g("(");emitNodeWithoutSourceMap(r);g(" = ");emitEntityNameAsExpression(e.left,true);g(") && ");emitNodeWithoutSourceMap(r)}else emitEntityNameAsExpression(e.left,false);g(".");emit(e.right)}function emitEntityNameAsExpression(e,t){switch(e.kind){case 69:if(t){g("typeof ");emitExpressionIdentifier(e);g(" !== 'undefined' && ")}emitExpressionIdentifier(e);break;case 139:emitQualifiedNameAsExpression(e,t);break;default:emitNodeWithoutSourceMap(e);break}}function emitIndexedAccess(e){if(!tryEmitConstantValue(e))if(2===d&&95===e.expression.kind&&isInAsyncMethodWithSuperInES6(e))emitSuperAccessInAsyncMethod(e.expression,e.argumentExpression);else{emit(e.expression);g("[");emit(e.argumentExpression);g("]")}}function hasSpreadElement(t){return e.forEach(t,(function(e){return 191===e.kind}))}function skipParentheses(e){while(178===e.kind||177===e.kind||195===e.kind||196===e.kind)e=e.expression;return e}function emitCallTarget(e){if(69===e.kind||97===e.kind||95===e.kind){emit(e);return e}var t=createAndRecordTempVariable(0);g("(");emit(t);g(" = ");emit(e);g(")");return t}function emitCallWithSpread(e){var t;var r=skipParentheses(e.expression);if(172===r.kind){t=emitCallTarget(r.expression);g(".");emit(r.name)}else if(173===r.kind){t=emitCallTarget(r.expression);g("[");emit(r.argumentExpression);g("]")}else if(95===r.kind){t=r;g("_super")}else emit(e.expression);g(".apply(");t?95===t.kind?emitThis(t):emit(t):g("void 0");g(", ");emitListWithSpread(e.arguments,false,false,false,true);g(")")}function isInAsyncMethodWithSuperInES6(r){if(2===d){var n=e.getSuperContainer(r,false);if(n&&t.getNodeCheckFlags(n)&(2048|4096))return true}return false}function emitSuperAccessInAsyncMethod(r,n){var a=e.getSuperContainer(r,false);var i=4096&t.getNodeCheckFlags(a);g("_super(");emit(n);g(i?").value":")")}function emitCallExpression(t){if(d<2&&hasSpreadElement(t.arguments))emitCallWithSpread(t);else{var r=t.expression;var n=false;var a=false;if(95===r.kind){emitSuper(r);n=true}else{n=e.isSuperPropertyOrElementAccess(r);a=n&&isInAsyncMethodWithSuperInES6(t);emit(r)}if(n&&(d<2||a)){g(".call(");emitThis(r);if(t.arguments.length){g(", ");emitCommaList(t.arguments)}g(")")}else{g("(");emitCommaList(t.arguments);g(")")}}}function emitNewExpression(e){g("new ");if(1===d&&e.arguments&&hasSpreadElement(e.arguments)){g("(");var t=emitCallTarget(e.expression);g(".bind.apply(");emit(t);g(", [void 0].concat(");emitListWithSpread(e.arguments,false,false,false,false);g(")))");g("()")}else{emit(e.expression);if(e.arguments){g("(");emitCommaList(e.arguments);g(")")}}}function emitTaggedTemplateExpression(e){if(d>=2){emit(e.tag);g(" ");emit(e.template)}else emitDownlevelTaggedTemplate(e)}function emitParenExpression(t){if(!e.nodeIsSynthesized(t)&&180!==t.parent.kind&&(177===t.expression.kind||195===t.expression.kind||196===t.expression.kind)){var r=t.expression.expression;while(177===r.kind||195===r.kind||196===r.kind)r=r.expression;if(185!==r.kind&&183!==r.kind&&182!==r.kind&&181!==r.kind&&186!==r.kind&&175!==r.kind&&!(174===r.kind&&175===t.parent.kind)&&!(179===r.kind&&174===t.parent.kind)&&!(8===r.kind&&172===t.parent.kind)){emit(r);return}}g("(");emit(t.expression);g(")")}function emitDeleteExpression(t){g(e.tokenToString(78));g(" ");emit(t.expression)}function emitVoidExpression(t){g(e.tokenToString(103));g(" ");emit(t.expression)}function emitTypeOfExpression(t){g(e.tokenToString(101));g(" ");emit(t.expression)}function isNameOfExportedSourceLevelDeclarationInSystemExternalModule(r){if(!isCurrentFileSystemExternalModule()||69!==r.kind||e.nodeIsSynthesized(r))return false;var n=r.parent&&(218===r.parent.kind||169===r.parent.kind);var a=n?r.parent:t.getReferencedValueDeclaration(r);return isSourceFileLevelDeclarationInSystemJsModule(a,true)}function isNameOfExportedDeclarationInNonES6Module(t){return p!==e.ModuleKind.System&&69===t.kind&&!e.nodeIsSynthesized(t)&&(!Y&&X&&e.hasProperty(X,t.text))}function emitPrefixUnaryExpression(t){var r=41===t.operator||42===t.operator;var n=r&&isNameOfExportedSourceLevelDeclarationInSystemExternalModule(t.operand);if(n){g(I+'("');emitNodeWithoutSourceMap(t.operand);g('", ')}var a=r&&isNameOfExportedDeclarationInNonES6Module(t.operand);a&&emitAliasEqual(t.operand);g(e.tokenToString(t.operator));if(185===t.operand.kind){var i=t.operand;(35!==t.operator||35!==i.operator&&41!==i.operator)&&(36!==t.operator||36!==i.operator&&42!==i.operator)||g(" ")}emit(t.operand);n&&g(")")}function emitPostfixUnaryExpression(t){var r=isNameOfExportedSourceLevelDeclarationInSystemExternalModule(t.operand);var n=isNameOfExportedDeclarationInNonES6Module(t.operand);if(r){g("("+I+'("');emitNodeWithoutSourceMap(t.operand);g('", ');g(e.tokenToString(t.operator));emit(t.operand);41===t.operator?g(") - 1)"):g(") + 1)")}else if(n){emitAliasEqual(t.operand);emit(t.operand);41===t.operator?g(" += 1"):g(" -= 1")}else{emit(t.operand);g(e.tokenToString(t.operator))}}function shouldHoistDeclarationInSystemJsModule(e){return isSourceFileLevelDeclarationInSystemJsModule(e,false)}function isSourceFileLevelDeclarationInSystemJsModule(t,r){if(!t||!isCurrentFileSystemExternalModule())return false;var n=e.getRootDeclaration(t).parent;while(n){if(256===n.kind)return!r||0!==(1&e.getCombinedNodeFlags(t));if(e.isDeclaration(n))return false;n=n.parent}}function emitExponentiationOperator(t){var r=t.left;if(60===t.operatorToken.kind){var n=void 0;var a=false;if(e.isElementAccessExpression(r)){a=true;g("(");n=e.createSynthesizedNode(173,false);var i=emitTempVariableAssignment(r.expression,false,false);n.expression=i;if(8!==r.argumentExpression.kind&&9!==r.argumentExpression.kind){var o=createAndRecordTempVariable(268435456);n.argumentExpression=o;emitAssignment(o,r.argumentExpression,true,r.expression)}else n.argumentExpression=r.argumentExpression;g(", ")}else if(e.isPropertyAccessExpression(r)){a=true;g("(");n=e.createSynthesizedNode(172,false);var i=emitTempVariableAssignment(r.expression,false,false);n.expression=i;n.name=r.name;g(", ")}emit(n||r);g(" = ");g("Math.pow(");emit(n||r);g(", ");emit(t.right);g(")");a&&g(")")}else{g("Math.pow(");emit(r);g(", ");emit(t.right);g(")")}}function emitAliasEqual(e){for(var t=0,r=X[e.text];t=2?e.isLet(t)?g("let "):e.isConst(t)?g("const "):g("var "):g("var ");return true}function emitVariableDeclarationListSkippingUninitializedEntries(e){var t=false;for(var r=0,n=e.declarations;r=1){tryEmitStartOfVariableDeclarationList(n);emit(n.declarations[0])}}else emit(e.initializer);207===e.kind?g(" in "):g(" of ");emit(e.expression);emitToken(18,e.expression.end);t?emitConvertedLoopCall(t,true):emitNormalLoopBody(e,true)}function emitDownLevelForOfStatementWorker(t,r){var n=emitToken(86,t.pos);g(" ");n=emitToken(17,n);var a=createTempVariable(268435456);var i=e.createSynthesizedNode(69);i.text=69===t.expression.kind?makeUniqueName(t.expression.text):makeTempVariableName(0);x(t.expression);g("var ");emitNodeWithoutSourceMap(a);g(" = 0");C(t.expression);g(", ");x(t.expression);emitNodeWithoutSourceMap(i);g(" = ");emitNodeWithoutSourceMap(t.expression);C(t.expression);g("; ");x(t.expression);emitNodeWithoutSourceMap(a);g(" < ");emitNodeWithCommentsAndWithoutSourcemap(i);g(".length");C(t.expression);g("; ");x(t.expression);emitNodeWithoutSourceMap(a);g("++");C(t.expression);emitToken(18,t.expression.end);g(" {");v();b();var o=createElementAccessExpression(i,a);x(t.initializer);if(219===t.initializer.kind){g("var ");var s=t.initializer;if(s.declarations.length>0){var c=s.declarations[0];if(e.isBindingPattern(c.name))emitDestructuring(c,false,o);else{emitNodeWithCommentsAndWithoutSourcemap(c);g(" = ");emitNodeWithoutSourceMap(o)}}else{emitNodeWithoutSourceMap(createTempVariable(0));g(" = ");emitNodeWithoutSourceMap(o)}}else{var l=createBinaryExpression(t.initializer,56,o,false);170===t.initializer.kind||171===t.initializer.kind?emitDestructuring(l,true,void 0):emitNodeWithCommentsAndWithoutSourcemap(l)}C(t.initializer);g(";");if(r){v();emitConvertedLoopCall(r,false)}else emitNormalLoopBody(t,false);v();T();g("}")}function emitBreakOrContinueStatement(e){if(K){var t=210===e.kind?2:4;var r=e.label&&K.labels&&K.labels[e.label.text]||!e.label&&K.allowedNonLabeledJumps&t;if(!r){g("return ");copyLoopOutParameters(K,1,false);if(e.label){var n=void 0;if(210===e.kind){n="break-"+e.label.text;setLabeledJump(K,true,e.label.text,n)}else{n="continue-"+e.label.text;setLabeledJump(K,false,e.label.text,n)}g('"'+n+'";')}else if(210===e.kind){K.nonLocalJumps|=2;g('"break";')}else{K.nonLocalJumps|=4;g('"continue";')}return}}emitToken(210===e.kind?70:75,e.pos);emitOptional(" ",e.label);g(";")}function emitReturnStatement(e){if(K){K.nonLocalJumps|=8;g("return { value: ");e.expression?emit(e.expression):g("void 0");g(" };")}else{emitToken(94,e.pos);emitOptional(" ",e.expression);g(";")}}function emitWithStatement(e){g("with (");emit(e.expression);g(")");emitEmbeddedStatement(e.statement)}function emitSwitchStatement(e){var t=emitToken(96,e.pos);g(" ");emitToken(17,t);emit(e.expression);t=emitToken(18,e.expression.end);g(" ");var r;if(K){r=K.allowedNonLabeledJumps;K.allowedNonLabeledJumps|=2}emitCaseBlock(e.caseBlock,t);K&&(K.allowedNonLabeledJumps=r)}function emitCaseBlock(e,t){emitToken(15,t);b();emitLines(e.clauses);T();v();emitToken(16,e.clauses.end)}function nodeStartPositionsAreOnSameLine(t,r){return e.getLineOfLocalPositionFromLineMap(O,e.skipTrivia(N,t.pos))===e.getLineOfLocalPositionFromLineMap(O,e.skipTrivia(N,r.pos))}function nodeEndPositionsAreOnSameLine(t,r){return e.getLineOfLocalPositionFromLineMap(O,t.end)===e.getLineOfLocalPositionFromLineMap(O,r.end)}function nodeEndIsOnSameLineAsNodeStart(t,r){return e.getLineOfLocalPositionFromLineMap(O,t.end)===e.getLineOfLocalPositionFromLineMap(O,e.skipTrivia(N,r.pos))}function emitCaseOrDefaultClause(e){if(249===e.kind){g("case ");emit(e.expression);g(":")}else g("default:");if(1===e.statements.length&&nodeStartPositionsAreOnSameLine(e,e.statements[0])){g(" ");emit(e.statements[0])}else{b();emitLines(e.statements);T()}}function emitThrowStatement(e){g("throw ");emit(e.expression);g(";")}function emitTryStatement(e){g("try ");emit(e.tryBlock);emit(e.catchClause);if(e.finallyBlock){v();g("finally ");emit(e.finallyBlock)}}function emitCatchClause(e){v();var t=emitToken(72,e.pos);g(" ");emitToken(17,t);emit(e.variableDeclaration);emitToken(18,e.variableDeclaration?e.variableDeclaration.end:t);g(" ");emitBlock(e.block)}function emitDebuggerStatement(e){emitToken(76,e.pos);g(";")}function emitLabelAndColon(e){emit(e.label);g(": ")}function emitLabeledStatement(t){e.isIterationStatement(t.statement,false)&&shouldConvertLoopBody(t.statement)||emitLabelAndColon(t);if(K){K.labels||(K.labels={});K.labels[t.label.text]=t.label.text}emit(t.statement);K&&(K.labels[t.label.text]=void 0)}function getContainingModule(e){do{e=e.parent}while(e&&225!==e.kind);return e}function emitContainingModuleName(e){var t=getContainingModule(e);g(t?getGeneratedNameForNode(t):"exports")}function emitModuleMemberName(t){x(t.name);if(1&e.getCombinedNodeFlags(t)){var r=getContainingModule(t);if(r){g(getGeneratedNameForNode(r));g(".")}else p!==e.ModuleKind.ES6&&p!==e.ModuleKind.System&&g("exports.")}emitNodeWithCommentsAndWithoutSourcemap(t.name);C(t.name)}function createVoidZero(){var t=e.createSynthesizedNode(8);t.text="0";var r=e.createSynthesizedNode(183);r.expression=t;return r}function emitEs6ExportDefaultCompat(t){if(256===t.parent.kind){e.Debug.assert(!!(512&t.flags)||235===t.kind);if((p===e.ModuleKind.CommonJS||p===e.ModuleKind.AMD||p===e.ModuleKind.UMD)&&!F)if(0!==d){g('Object.defineProperty(exports, "__esModule", { value: true });');v()}else{g("exports.__esModule = true;");v()}}}function emitExportMemberAssignment(t){if(1&t.flags){v();x(t);if(p===e.ModuleKind.System&&t.parent===E){g(I+'("');512&t.flags?g("default"):emitNodeWithCommentsAndWithoutSourcemap(t.name);g('", ');emitDeclarationName(t);g(")")}else{if(512&t.flags){emitEs6ExportDefaultCompat(t);g(0===d?'exports["default"]':"exports.default")}else emitModuleMemberName(t);g(" = ");emitDeclarationName(t)}C(t);g(";")}}function emitExportMemberAssignments(t){if(p!==e.ModuleKind.System&&!Y&&X&&e.hasProperty(X,t.text))for(var r=0,n=X[t.text];r0,r);a++;return n}function createDefaultValueCheck(t,r,n){t=ensureIdentifier(t,true,n);var a=e.createSynthesizedNode(187);a.left=t;a.operatorToken=e.createSynthesizedNode(32);a.right=createVoidZero();return createConditionalExpression(a,r,t)}function createConditionalExpression(t,r,n){var a=e.createSynthesizedNode(188);a.condition=t;a.questionToken=e.createSynthesizedNode(53);a.whenTrue=r;a.colonToken=e.createSynthesizedNode(54);a.whenFalse=n;return a}function createNumericLiteral(t){var r=e.createSynthesizedNode(8);r.text=""+t;return r}function createPropertyAccessForDestructuringProperty(t,r){var n;var a=140===r.kind;if(a)n=ensureIdentifier(r.expression,false,r);else{n=e.createSynthesizedNode(r.kind);n.text=e.unescapeIdentifier(r.text)}return a||69!==n.kind?createElementAccessExpression(t,n):createPropertyAccessExpression(t,n)}function createSliceCall(t,r){var n=e.createSynthesizedNode(174);var a=e.createSynthesizedNode(69);a.text="slice";n.expression=createPropertyAccessExpression(t,a);n.arguments=e.createSynthesizedNodeArray();n.arguments[0]=createNumericLiteral(r);return n}function emitObjectLiteralAssignment(e,t,r){var n=e.properties;1!==n.length&&(t=ensureIdentifier(t,true,r));for(var a=0,i=n;a0,r);a++}}function emitAssignmentExpression(t){var n=t.left;var a=t.right;if(e.isEmptyObjectLiteralOrArrayLiteral(n))emit(a);else if(r)emitDestructuringAssignment(n,a,e.nodeIsSynthesized(t)?n:t);else{178!==t.parent.kind&&g("(");a=ensureIdentifier(a,true,t);emitDestructuringAssignment(n,a,t);g(", ");emit(a);178!==t.parent.kind&&g(")")}}function emitBindingElement(t,r){t.initializer?r=r?createDefaultValueCheck(r,t.initializer,t):t.initializer:r||(r=createVoidZero());if(e.isBindingPattern(t.name)){var n=t.name;var i=n.elements;var o=i.length;1!==o&&(r=ensureIdentifier(r,0!==o,t));for(var s=0;s0,t);a++}}}function emitVariableDeclaration(r){if(e.isBindingPattern(r.name)){var n=1&e.getCombinedNodeFlags(r);if(d>=2&&(!n||p===e.ModuleKind.ES6)){var a=p===e.ModuleKind.System&&shouldHoistVariable(r,true);a&&g("(");emit(r.name);emitOptional(" = ",r.initializer);a&&g(")")}else emitDestructuring(r,false)}else{var i=r.initializer;if(!i&&d<2&&69===r.name.kind){var o=e.getEnclosingBlockScopeContainer(r);var s=t.getNodeCheckFlags(r);var c=131072&s;var l=262144&s;var u=e.isBlockScopedContainerTopLevel(o)||c&&l&&199===o.kind&&e.isIterationStatement(o.parent,false);var _=1024&e.getCombinedNodeFlags(r)&&!u;var m=_&&207!==o.kind&&208!==o.kind&&(!t.isDeclarationWithCollidingName(r)||l&&!c&&!e.isIterationStatement(o,false));m&&(i=createVoidZero())}var f=isNameOfExportedSourceLevelDeclarationInSystemExternalModule(r.name);if(f){g(I+'("');emitNodeWithCommentsAndWithoutSourcemap(r.name);g('", ')}emitModuleMemberName(r);emitOptional(" = ",i);f&&g(")")}}function emitExportVariableAssignments(t){if(193!==t.kind){var r=t.name;69===r.kind?emitExportMemberAssignments(r):e.isBindingPattern(r)&&e.forEach(r.elements,emitExportVariableAssignments)}}function isES6ExportedDeclaration(t){return!!(1&t.flags)&&p===e.ModuleKind.ES6&&256===t.parent.kind}function emitVariableStatement(t){var r=false;if(1&t.flags){if(isES6ExportedDeclaration(t)){g("export ");r=tryEmitStartOfVariableDeclarationList(t.declarationList)}}else r=tryEmitStartOfVariableDeclarationList(t.declarationList);if(r){emitCommaList(t.declarationList.declarations);g(";")}else{var n=emitVariableDeclarationListSkippingUninitializedEntries(t.declarationList);n&&g(";")}p!==e.ModuleKind.ES6&&t.parent===E&&e.forEach(t.declarationList.declarations,emitExportVariableAssignments)}function shouldEmitLeadingAndTrailingCommentsForVariableStatement(e){if(!(1&e.flags))return true;if(isES6ExportedDeclaration(e))return true;for(var t=0,r=e.declarationList.declarations;t=2}function emitDeclarationName(e){e.name?emitNodeWithCommentsAndWithoutSourcemap(e.name):g(getGeneratedNameForNode(e))}function shouldEmitFunctionName(t){return 179===t.kind?!!t.name:220===t.kind?!!t.name||p!==e.ModuleKind.ES6:void 0}function emitFunctionDeclaration(t){if(e.nodeIsMissing(t.body))return emitCommentsOnNotEmittedNode(t);var r=t.kind,n=t.parent;147!==r&&146!==r&&n&&253!==n.kind&&174!==n.kind&&170!==n.kind&&emitLeadingComments(t);x(t);if(!shouldEmitAsArrowFunction(t)){if(isES6ExportedDeclaration(t)){g("export ");512&t.flags&&g("default ")}g("function");d>=2&&t.asteriskToken&&g("*");g(" ")}shouldEmitFunctionName(t)&&emitDeclarationName(t);emitSignatureAndBody(t);p!==e.ModuleKind.ES6&&220===r&&n===E&&t.name&&emitExportMemberAssignments(t.name);C(t);147!==r&&146!==r&&180!==r&&emitTrailingComments(t)}function emitCaptureThisForNodeIfNecessary(e){if(4&t.getNodeCheckFlags(e)){v();x(e);g("var _this = this;");C(e)}}function emitSignatureParameters(t){b();g("(");if(t){var r=t.parameters;var n=t.parameters.length&&"this"===t.parameters[0].name.text?1:0;var a=d<2&&e.hasDeclaredRestParameter(t)?1:0;emitList(r,n,r.length-a-n,false,false)}g(")");T()}function emitSignatureParametersForArrow(e){1!==e.parameters.length||e.pos!==e.parameters[0].pos?emitSignatureParameters(e):emit(e.parameters[0])}function emitAsyncFunctionBodyForES6(r){var n=e.getEntityNameFromTypeNode(r.type);var a=180===r.kind;var i=0!==(8192&t.getNodeCheckFlags(r));if(!a){g(" {");b();v();if(4096&t.getNodeCheckFlags(r)){writeLines("\nconst _super = (function (geti, seti) {\n const cache = Object.create(null);\n return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n})(name => super[name], (name, value) => super[name] = value);");v()}else if(2048&t.getNodeCheckFlags(r)){g("const _super = name => super[name];");v()}g("return")}g(" __awaiter(this");g(i?", arguments, ":", void 0, ");d>=2||!n?g("void 0"):emitEntityNameAsExpression(n,false);g(", function* ()");emitFunctionBody(r);g(")");if(!a){g(";");T();v();g("}")}}function emitFunctionBody(e){e.body?199===e.body.kind?emitBlockFunctionBody(e,e.body):emitExpressionFunctionBody(e,e.body):g(" { }")}function emitSignatureAndBody(t){var r=K;var n=G;var a=H;var i=q;K=void 0;G=0;H=void 0;q=void 0;if(shouldEmitAsArrowFunction(t)){emitSignatureParametersForArrow(t);g(" =>")}else emitSignatureParameters(t);var o=e.isAsyncFunctionLike(t);o?emitAsyncFunctionBodyForES6(t):emitFunctionBody(t);isES6ExportedDeclaration(t)||emitExportMemberAssignment(t);e.Debug.assert(void 0===K);K=r;G=n;H=a;q=i}function emitFunctionBodyPreamble(e){emitCaptureThisForNodeIfNecessary(e);emitDefaultValueAssignments(e);emitRestParameter(e)}function emitExpressionFunctionBody(e,t){if(d<2||256&e.flags)emitDownLevelExpressionFunctionBody(e,t);else{g(" ");var r=t;while(177===r.kind)r=r.expression;emitParenthesizedIf(t,171===r.kind)}}function emitDownLevelExpressionFunctionBody(e,t){g(" {");b();var r=a.getTextPos();emitDetachedCommentsAndUpdateCommentsInfo(e.body);emitFunctionBodyPreamble(e);var n=a.getTextPos()!==r;T();if(!n&&nodeStartPositionsAreOnSameLine(e,t)){g(" ");x(t);g("return ");emit(t);C(t);g(";");emitTempDeclarations(false);g(" ")}else{b();v();emitLeadingComments(e.body);x(t);g("return ");emit(t);C(t);g(";");emitTrailingComments(e.body);emitTempDeclarations(true);T();v()}x(e.body);g("}");C(e.body)}function emitBlockFunctionBody(e,t){g(" {");var r=a.getTextPos();b();emitDetachedCommentsAndUpdateCommentsInfo(t.statements);var n=emitDirectivePrologues(t.statements,true);emitFunctionBodyPreamble(e);T();var i=a.getTextPos()!==r;if(!i&&nodeEndIsOnSameLineAsNodeStart(t,t)){for(var o=0,s=t.statements;o=n.length)){var a=n[r];return 202===a.kind&&e.isSuperCallExpression(a.expression)?a:void 0}}}function emitParameterPropertyAssignments(t){e.forEach(t.parameters,(function(e){if(92&e.flags){v();x(e);x(e.name);g("this.");emitNodeWithoutSourceMap(e.name);C(e.name);g(" = ");emit(e.name);g(";");C(e)}}))}function emitMemberAccessForPropertyName(e){if(9===e.kind||8===e.kind){g("[");emitNodeWithCommentsAndWithoutSourcemap(e);g("]")}else if(140===e.kind)emitComputedPropertyName(e);else{g(".");emitNodeWithCommentsAndWithoutSourcemap(e)}}function getInitializedProperties(e,t){var r=[];for(var n=0,a=e.members;n=2)||a||n){a&&emitLeadingComments(a);x(a||t);if(d<2){g("function ");emitDeclarationName(t);emitSignatureParameters(a)}else{g("constructor");a?emitSignatureParameters(a):g(r?"(...args)":"()")}var i=0;g(" {");b();if(a){i=emitDirectivePrologues(a.body.statements,true);emitDetachedCommentsAndUpdateCommentsInfo(a.body.statements)}emitCaptureThisForNodeIfNecessary(t);var o;if(a){emitDefaultValueAssignments(a);emitRestParameter(a);if(r){o=getSuperCallAtGivenIndex(a,i);if(o){v();emit(o)}}emitParameterPropertyAssignments(a)}else if(r){v();x(r);g(d<2?"_super.apply(this, arguments);":"super(...args);");C(r)}emitPropertyDeclarations(t,getInitializedProperties(t,false));if(a){var s=a.body.statements;o&&(s=s.slice(1));emitLinesStartingAt(s,i)}emitTempDeclarations(true);v();a&&re(a.body.statements.end);T();emitToken(16,a?a.body.statements.end:t.members.end);C(a||t);a&&emitTrailingComments(a)}}function emitClassExpression(e){return emitClassLikeDeclaration(e)}function emitClassDeclaration(e){return emitClassLikeDeclaration(e)}function emitClassLikeDeclaration(t){d<2?emitClassLikeDeclarationBelowES6(t):emitClassLikeDeclarationForES6AndHigher(t);p!==e.ModuleKind.ES6&&t.parent===E&&t.name&&emitExportMemberAssignments(t.name)}function emitClassLikeDeclarationForES6AndHigher(r){var n;var a=shouldHoistDeclarationInSystemJsModule(r);var i=e.nodeIsDecorated(r);var o=i||a;if(221===r.kind)if(o){if(i&&524288&t.getNodeCheckFlags(r)){n=e.unescapeIdentifier(makeUniqueName(r.name?r.name.text:"default"));J[e.getNodeId(r)]=n}!isES6ExportedDeclaration(r)||512&r.flags||void 0!==n||g("export ");a||g("let ");void 0!==n?g(""+n):emitDeclarationName(r);g(" = ")}else if(isES6ExportedDeclaration(r)){g("export ");512&r.flags&&g("default ")}var s=getInitializedProperties(r,true);var c=s.length>0&&192===r.kind;var l;if(c){l=getGeneratedNameForNode(r.name);var u=e.createSynthesizedNode(69);u.text=l;recordTempDeclaration(u);g("(");b();emit(u);g(" = ")}g("class");if(r.name||512&r.flags&&(s.length>0||p!==e.ModuleKind.ES6)&&!o){g(" ");emitDeclarationName(r)}var _=e.getClassExtendsHeritageClauseElement(r);if(_){g(" extends ");emit(_.expression)}g(" {");b();v();emitConstructor(r,_);emitMemberFunctionsForES6AndHigher(r);T();v();emitToken(16,r.members.end);if(o){if(void 0!==n){g(";");v();!isES6ExportedDeclaration(r)||512&r.flags||g("export ");g("let ");emitDeclarationName(r);g(" = "+n)}J[e.getNodeId(r)]=void 0;g(";")}if(c){for(var d=0,m=s;d0));emitSerializedTypeMetadata(t,s>=0);T();v();g("], ");emitDeclarationName(t);g(")");C(t.decorators||i);g(";");v()}}function emitDecoratorsOfMembers(t,r){for(var n=0,a=t.members;n0));emitSerializedTypeMetadata(i,_>0);T();v();g("], ");emitClassMemberPrefix(t,i);g(", ");emitExpressionForPropertyName(i.name);d>0&&(145!==i.kind?g(", null"):g(", void 0"));g(")");C(o||l);g(";");v()}}}}function emitDecoratorsOfParameters(t,r){var n=0;if(t){var a=0;for(var i=0,o=t.parameters;i0)for(var i=0;i0&&g(", ");if(n[i].dotDotDotToken){var o=n[i].type;o=o&&160===o.kind?o.elementType:o&&155===o.kind&&o.typeArguments&&1===o.typeArguments.length?o.typeArguments[0]:void 0;emitSerializedTypeNode(o)}else emitSerializedTypeOfNode(n[i])}}}}function emitSerializedReturnTypeOfNode(t){if(t&&e.isFunctionLike(t)){if(t.type){emitSerializedTypeNode(t.type);return}if(e.isAsyncFunctionLike(t)){g("Promise");return}}g("void 0")}function emitSerializedTypeMetadata(e,t){var r=0;if(_.emitDecoratorMetadata){if(shouldEmitTypeMetadata(e)){t&&g(", ");v();g("__metadata('design:type', ");emitSerializedTypeOfNode(e);g(")");r++}if(shouldEmitParamTypesMetadata(e)){(t||r)&&g(", ");v();g("__metadata('design:paramtypes', [");emitSerializedParameterTypesOfNode(e);g("])");r++}if(shouldEmitReturnTypeMetadata(e)){(t||r)&&g(", ");v();g("__metadata('design:returntype', ");emitSerializedReturnTypeOfNode(e);g(")");r++}}return r}function emitInterfaceDeclaration(e){emitCommentsOnNotEmittedNode(e)}function shouldEmitEnumDeclaration(t){var r=e.isConst(t);return!r||_.preserveConstEnums||_.isolatedModules}function emitEnumDeclaration(t){if(shouldEmitEnumDeclaration(t)){if(!shouldHoistDeclarationInSystemJsModule(t)){var r=isES6ExportedDeclaration(t);if(!(1&t.flags)||r&&isFirstDeclarationOfKind(t,t.symbol&&t.symbol.declarations,224)){x(t);r&&g("export ");g("var ");emit(t.name);C(t);g(";")}}v();x(t);g("(function (");x(t.name);g(getGeneratedNameForNode(t));C(t.name);g(") {");b();emitLines(t.members);T();v();emitToken(16,t.members.end);g(")(");emitModuleMemberName(t);g(" || (");emitModuleMemberName(t);g(" = {}));");C(t);if(!isES6ExportedDeclaration(t)&&1&t.flags&&!shouldHoistDeclarationInSystemJsModule(t)){v();x(t);g("var ");emit(t.name);g(" = ");emitModuleMemberName(t);C(t);g(";")}if(p!==e.ModuleKind.ES6&&t.parent===E){if(p===e.ModuleKind.System&&1&t.flags){v();g(I+'("');emitDeclarationName(t);g('", ');emitDeclarationName(t);g(");")}emitExportMemberAssignments(t.name)}}}function emitEnumMember(e){var t=e.parent;x(e);g(getGeneratedNameForNode(t));g("[");g(getGeneratedNameForNode(t));g("[");emitExpressionForPropertyName(e.name);g("] = ");writeEnumMemberDeclarationValue(e);g("] = ");emitExpressionForPropertyName(e.name);C(e);g(";")}function writeEnumMemberDeclarationValue(e){var r=t.getConstantValue(e);void 0===r?e.initializer?emit(e.initializer):g("undefined"):g(r.toString())}function getInnerMostModuleDeclarationFromDottedModule(e){if(e.body&&225===e.body.kind){var t=getInnerMostModuleDeclarationFromDottedModule(e.body);return t||e.body}}function shouldEmitModuleDeclaration(t){return e.isInstantiatedModule(t,_.preserveConstEnums||_.isolatedModules)}function isModuleMergedWithES6Class(e){return 2===d&&!!(32768&t.getNodeCheckFlags(e))}function isFirstDeclarationOfKind(t,r,n){return!e.forEach(r,(function(e){return e.kind===n&&e.pos0){var l=a.substr(i,o-i+1);n=(n?n+"\" + ' ' + \"":"")+e.escapeString(l)}i=-1}else if(!e.isWhiteSpaceSingleLine(c)){o=s;-1===i&&(i=s)}}if(-1!==i){var l=a.substr(i);n=(n?n+"\" + ' ' + \"":"")+e.escapeString(l)}n&&(n=n.replace(/&(\w+);/g,(function(e,t){if(void 0!==r[t]){var n=String.fromCharCode(r[t]);return'"'===n?'\\"':n}return e})));return n}function isJsxChildEmittable(e){return 248===e.kind?!!e.expression:244!==e.kind||!!getTextToEmit(e)}function getTextToEmit(t){switch(_.jsx){case 2:var r=trimReactWhitespaceAndApplyEntities(t);return void 0===r||0===r.length?void 0:r;case 1:default:return e.getTextOfNode(t,true)}}function emitJsxText(t){switch(_.jsx){case 2:g('"');g(trimReactWhitespaceAndApplyEntities(t));g('"');break;case 1:default:a.writeLiteral(e.getTextOfNode(t,true));break}}function emitJsxExpression(e){if(e.expression)switch(_.jsx){case 1:default:g("{");emit(e.expression);g("}");break;case 2:emit(e.expression);break}}function isUseStrictPrologue(e){return"use strict"===e.expression.text}function ensureUseStrictPrologue(e,t){if(t){e&&v();g('"use strict";')}}function emitDirectivePrologues(t,r,n){var a=false;for(var i=0;i0,!a&&n);return i}isUseStrictPrologue(t[i])&&(a=true);(r||i>0)&&v();emit(t[i])}ensureUseStrictPrologue(r,!a&&n);return t.length}function writeLines(e){var t=e.split(/\r\n|\r|\n/g);for(var r=0;ra){a=c.prefix.length;n=s}}return n}e.findBestPatternMatch=findBestPatternMatch;function isPatternMatch(t,r){var n=t.prefix,a=t.suffix;return r.length>=n.length+a.length&&e.startsWith(r,n)&&e.endsWith(r,a)}function tryParsePattern(t){e.Debug.assert(hasZeroOrOneAsteriskCharacter(t));var r=t.indexOf("*");return-1===r?void 0:{prefix:t.substr(0,r),suffix:t.substr(r+1)}}e.tryParsePattern=tryParsePattern;function nodeModuleNameResolver(t,r,n,a){var i=e.getDirectoryPath(r);var o=e.getSupportedExtensions(n);var s=isTraceEnabled(n,a);var c=[];var l={compilerOptions:n,host:a,traceEnabled:s,skipTsx:false};var u=tryLoadModuleUsingOptionalResolutionSettings(t,i,nodeLoadModuleByRelativeName,c,o,l);var _=false;if(!u)if(moduleHasNonRelativeName(t)){s&&trace(a,e.Diagnostics.Loading_module_0_from_node_modules_folder,t);u=loadModuleFromNodeModules(t,i,c,l);_=void 0!==u}else{var d=e.normalizePath(e.combinePaths(i,t));u=nodeLoadModuleByRelativeName(d,o,c,false,l)}if(u&&a.realpath){var p=u;u=e.normalizePath(a.realpath(u));s&&trace(a,e.Diagnostics.Resolving_real_path_for_0_result_1,p,u)}return createResolvedModule(u,_,c)}e.nodeModuleNameResolver=nodeModuleNameResolver;function nodeLoadModuleByRelativeName(t,r,n,a,i){i.traceEnabled&&trace(i.host,e.Diagnostics.Loading_module_as_file_Slash_folder_candidate_module_location_0,t);var o=loadModuleFromFile(t,r,n,a,i);return o||loadNodeModuleFromDirectory(r,t,n,a,i)}function directoryProbablyExists(e,t){return!t.directoryExists||t.directoryExists(e)}e.directoryProbablyExists=directoryProbablyExists;function loadModuleFromFile(t,r,n,a,i){var o=loadModuleFromFileWorker(t,r,n,a,i);if(o)return o;if(e.hasJavaScriptFileExtension(t)){var s=e.removeFileExtension(t);if(i.traceEnabled){var c=t.substring(s.length);trace(i.host,e.Diagnostics.File_name_0_has_a_1_extension_stripping_it,t,c)}return loadModuleFromFileWorker(s,r,n,a,i)}}function loadModuleFromFileWorker(t,r,n,a,i){if(!a){var o=e.getDirectoryPath(t);o&&(a=!directoryProbablyExists(o,i.host))}return e.forEach(r,tryLoad);function tryLoad(r){if(!i.skipTsx||!e.isJsxOrTsxExtension(r)){var o=e.fileExtensionIs(t,r)?t:t+r;if(!a&&i.host.fileExists(o)){i.traceEnabled&&trace(i.host,e.Diagnostics.File_0_exist_use_it_as_a_name_resolution_result,o);return o}i.traceEnabled&&trace(i.host,e.Diagnostics.File_0_does_not_exist,o);n.push(o)}}}function loadNodeModuleFromDirectory(t,r,n,a,i){var o=e.combinePaths(r,"package.json");var s=!a&&directoryProbablyExists(r,i.host);if(s&&i.host.fileExists(o)){i.traceEnabled&&trace(i.host,e.Diagnostics.Found_package_json_at_0,o);var c=tryReadTypesSection(o,r,i);if(c){var l=loadModuleFromFile(c,t,n,!directoryProbablyExists(e.getDirectoryPath(c),i.host),i);if(l)return l}else i.traceEnabled&&trace(i.host,e.Diagnostics.package_json_does_not_have_types_field)}else{i.traceEnabled&&trace(i.host,e.Diagnostics.File_0_does_not_exist,o);n.push(o)}return loadModuleFromFile(e.combinePaths(r,"index"),t,n,!s,i)}function loadModuleFromNodeModulesFolder(t,r,n,a){var i=e.combinePaths(r,"node_modules");var o=directoryProbablyExists(i,a.host);var s=e.normalizePath(e.combinePaths(i,t));var c=e.getSupportedExtensions(a.compilerOptions);var l=loadModuleFromFile(s,c,n,!o,a);if(l)return l;l=loadNodeModuleFromDirectory(c,s,n,!o,a);return l||void 0}function loadModuleFromNodeModules(t,r,n,a){r=e.normalizeSlashes(r);while(true){var i=e.getBaseFileName(r);if("node_modules"!==i){var o=loadModuleFromNodeModulesFolder(t,r,n,a);if(o&&e.hasTypeScriptFileExtension(o))return o;var s=loadModuleFromNodeModulesFolder(e.combinePaths("@types",t),r,n,a);if(s||o)return s||o}var c=e.getDirectoryPath(r);if(c===r)break;r=c}}function classicNameResolver(t,r,n,a){var i=isTraceEnabled(n,a);var o={compilerOptions:n,host:a,traceEnabled:i,skipTsx:!n.jsx};var s=[];var c=e.getSupportedExtensions(n);var l=e.getDirectoryPath(r);var u=tryLoadModuleUsingOptionalResolutionSettings(t,l,loadModuleFromFile,s,c,o);if(u)return createResolvedModule(u,false,s);var _;if(moduleHasNonRelativeName(t))while(true){var d=e.normalizePath(e.combinePaths(l,t));_=loadModuleFromFile(d,c,s,false,o);if(_)break;var p=e.getDirectoryPath(l);if(p===l)break;l=p}else{var m=e.normalizePath(e.combinePaths(l,t));_=loadModuleFromFile(m,c,s,false,o)}return _?{resolvedModule:{resolvedFileName:_},failedLookupLocations:s}:{resolvedModule:void 0,failedLookupLocations:s}}e.classicNameResolver=classicNameResolver;e.defaultInitCompilerOptions={module:e.ModuleKind.CommonJS,target:1,noImplicitAny:false,sourceMap:false};function createCompilerHost(t,r){var n={};function getCanonicalFileName(t){return e.sys.useCaseSensitiveFileNames?t:t.toLowerCase()}var a=-2147024809;function getSourceFile(n,i,o){var s;try{var c=(new Date).getTime();s=e.sys.readFile(n,t.charset);e.ioReadTime+=(new Date).getTime()-c}catch(t){o&&o(t.number===a?e.createCompilerDiagnostic(e.Diagnostics.Unsupported_file_encoding).messageText:t.message);s=""}return void 0!==s?e.createSourceFile(n,s,i,r):void 0}function directoryExists(t){if(e.hasProperty(n,t))return true;if(e.sys.directoryExists(t)){n[t]=true;return true}return false}function ensureDirectoriesExist(t){if(t.length>e.getRootLength(t)&&!directoryExists(t)){var r=e.getDirectoryPath(t);ensureDirectoriesExist(r);e.sys.createDirectory(t)}}var i;function writeFileIfUpdated(t,r,n){i||(i={});var a=e.sys.createHash(r);var o=e.sys.getModifiedTime(t);if(o&&e.hasProperty(i,t)){var s=i[t];if(s.byteOrderMark===n&&s.hash===a&&s.mtime.getTime()===o.getTime())return}e.sys.writeFile(t,r,n);var c=e.sys.getModifiedTime(t);i[t]={hash:a,byteOrderMark:n,mtime:c}}function writeFile(r,n,a,i){try{var o=(new Date).getTime();ensureDirectoriesExist(e.getDirectoryPath(e.normalizePath(r)));e.isWatchSet(t)&&e.sys.createHash&&e.sys.getModifiedTime?writeFileIfUpdated(r,n,a):e.sys.writeFile(r,n,a);e.ioWriteTime+=(new Date).getTime()-o}catch(e){i&&i(e.message)}}function getDefaultLibLocation(){return e.getDirectoryPath(e.normalizePath(e.sys.getExecutingFilePath()))}var o=e.getNewLineCharacter(t);var s=e.sys.realpath&&function(t){return e.sys.realpath(t)};return{getSourceFile:getSourceFile,getDefaultLibLocation:getDefaultLibLocation,getDefaultLibFileName:function(t){return e.combinePaths(getDefaultLibLocation(),e.getDefaultLibFileName(t))},writeFile:writeFile,getCurrentDirectory:e.memoize((function(){return e.sys.getCurrentDirectory()})),useCaseSensitiveFileNames:function(){return e.sys.useCaseSensitiveFileNames},getCanonicalFileName:getCanonicalFileName,getNewLine:function(){return o},fileExists:function(t){return e.sys.fileExists(t)},readFile:function(t){return e.sys.readFile(t)},trace:function(t){return e.sys.write(t+o)},directoryExists:function(t){return e.sys.directoryExists(t)},getDirectories:function(t){return e.sys.getDirectories(t)},realpath:s}}e.createCompilerHost=createCompilerHost;function getPreEmitDiagnostics(t,r,n){var a=t.getOptionsDiagnostics(n).concat(t.getSyntacticDiagnostics(r,n),t.getGlobalDiagnostics(n),t.getSemanticDiagnostics(r,n));t.getCompilerOptions().declaration&&(a=a.concat(t.getDeclarationDiagnostics(r,n)));return e.sortAndDeduplicateDiagnostics(a)}e.getPreEmitDiagnostics=getPreEmitDiagnostics;function flattenDiagnosticMessageText(e,t){if("string"===typeof e)return e;var r=e;var n="";var a=0;while(r){if(a){n+=t;for(var i=0;i0||o.length>0)return{diagnostics:e.concatenate(s,o),sourceMaps:void 0,emittedFiles:void 0,emitSkipped:true}}var c=getDiagnosticsProducingTypeChecker().getEmitResolver(n.outFile||n.out?void 0:r);var l=(new Date).getTime();var u=e.emitFiles(c,getEmitHost(a),r);e.emitTime+=(new Date).getTime()-l;return u}function getSourceFile(t){return getSourceFileByPath(e.toPath(t,k,getCanonicalFileName))}function getSourceFileByPath(e){return E.get(e)}function getDiagnosticsHelper(t,r,n){if(t)return r(t,n);var a=[];e.forEach(s.getSourceFiles(),(function(t){n&&n.throwIfCancellationRequested();e.addRange(a,r(t,n))}));return e.sortAndDeduplicateDiagnostics(a)}function getSyntacticDiagnostics(e,t){return getDiagnosticsHelper(e,getSyntacticDiagnosticsForFile,t)}function getSemanticDiagnostics(e,t){return getDiagnosticsHelper(e,getSemanticDiagnosticsForFile,t)}function getDeclarationDiagnostics(e,t){var r=s.getCompilerOptions();return!e||r.out||r.outFile?getDeclarationDiagnosticsWorker(e,t):getDiagnosticsHelper(e,getDeclarationDiagnosticsForFile,t)}function getSyntacticDiagnosticsForFile(e,t){return e.parseDiagnostics}function runWithCancellationToken(t){try{return t()}catch(t){if(t instanceof e.OperationCanceledException){_=void 0;u=void 0}throw t}}function getSemanticDiagnosticsForFile(t,r){return runWithCancellationToken((function(){var n=getDiagnosticsProducingTypeChecker();e.Debug.assert(!!t.bindDiagnostics);var a=t.bindDiagnostics;var i=e.isSourceFileJavaScript(t)?getJavaScriptSemanticDiagnosticsForFile(t,r):n.getDiagnostics(t,r);var o=m.getDiagnostics(t.fileName);var s=T.getDiagnostics(t.fileName);return a.concat(i).concat(o).concat(s)}))}function getJavaScriptSemanticDiagnosticsForFile(t,r){return runWithCancellationToken((function(){var r=[];walk(t);return r;function walk(a){if(!a)return false;switch(a.kind){case 229:r.push(e.createDiagnosticForNode(a,e.Diagnostics.import_can_only_be_used_in_a_ts_file));return true;case 235:if(a.isExportEquals){r.push(e.createDiagnosticForNode(a,e.Diagnostics.export_can_only_be_used_in_a_ts_file));return true}break;case 221:var i=a;if(checkModifiers(i.modifiers)||checkTypeParameters(i.typeParameters))return true;break;case 251:var o=a;if(106===o.token){r.push(e.createDiagnosticForNode(a,e.Diagnostics.implements_clauses_can_only_be_used_in_a_ts_file));return true}break;case 222:r.push(e.createDiagnosticForNode(a,e.Diagnostics.interface_declarations_can_only_be_used_in_a_ts_file));return true;case 225:r.push(e.createDiagnosticForNode(a,e.Diagnostics.module_declarations_can_only_be_used_in_a_ts_file));return true;case 223:r.push(e.createDiagnosticForNode(a,e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file));return true;case 147:case 146:case 148:case 149:case 150:case 179:case 220:case 180:case 220:var s=a;if(checkModifiers(s.modifiers)||checkTypeParameters(s.typeParameters)||checkTypeAnnotation(s.type))return true;break;case 200:var c=a;if(checkModifiers(c.modifiers))return true;break;case 218:var l=a;if(checkTypeAnnotation(l.type))return true;break;case 174:case 175:var u=a;if(u.typeArguments&&u.typeArguments.length>0){var _=u.typeArguments.pos;r.push(e.createFileDiagnostic(t,_,u.typeArguments.end-_,e.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file));return true}break;case 142:var d=a;if(d.modifiers){var p=d.modifiers.pos;r.push(e.createFileDiagnostic(t,p,d.modifiers.end-p,e.Diagnostics.parameter_modifiers_can_only_be_used_in_a_ts_file));return true}if(d.questionToken){r.push(e.createDiagnosticForNode(d.questionToken,e.Diagnostics._0_can_only_be_used_in_a_ts_file,"?"));return true}if(d.type){r.push(e.createDiagnosticForNode(d.type,e.Diagnostics.types_can_only_be_used_in_a_ts_file));return true}break;case 145:var m=a;if(m.modifiers)for(var g=0,f=m.modifiers;g=0}function processRootFile(t,r){processSourceFile(e.normalizePath(t),r,true)}function fileReferenceIsEqualTo(e,t){return e.fileName===t.fileName}function moduleNameIsEqualTo(e,t){return e.text===t.text}function getTextOfLiteral(e){return e.text}function collectExternalModuleReferences(r){if(r.imports);else{var n=e.isSourceFileJavaScript(r);var a=e.isExternalModule(r);var i;var o;for(var s=0,c=r.statements;sg;var d=s&&!n.noResolve&&o1}))&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files))}!n.noEmit&&n.allowJs&&n.declaration&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_with_option_1,"allowJs","declaration"));n.emitDecoratorMetadata&&!n.experimentalDecorators&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1,"emitDecoratorMetadata","experimentalDecorators"));n.reactNamespace&&!e.isIdentifier(n.reactNamespace,l)&&T.add(e.createCompilerDiagnostic(e.Diagnostics.Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,n.reactNamespace));if(!n.noEmit&&!n.suppressOutputPathCheck){var g=getEmitHost();var f=e.createFileMap(a.useCaseSensitiveFileNames()?void 0:function(e){return e.toLocaleLowerCase()});e.forEachExpectedEmitFile(g,(function(e,t,r){verifyEmitFilePath(e.jsFilePath,f);verifyEmitFilePath(e.declarationFilePath,f)}))}function verifyEmitFilePath(t,r){if(t){var n=e.toPath(t,k,getCanonicalFileName);E.contains(n)&&createEmitBlockingDiagnostics(t,n,e.Diagnostics.Cannot_write_file_0_because_it_would_overwrite_input_file);r.contains(n)?createEmitBlockingDiagnostics(t,n,e.Diagnostics.Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files):r.set(n,true)}}}function createEmitBlockingDiagnostics(t,r,n){x.set(e.toPath(t,k,getCanonicalFileName),true);T.add(e.createCompilerDiagnostic(n,t))}}e.createProgram=createProgram})(l||(l={}));var l;(function(e){e.optionDeclarations=[{name:"charset",type:"string"},{name:"declaration",shortName:"d",type:"boolean",description:e.Diagnostics.Generates_corresponding_d_ts_file},{name:"declarationDir",type:"string",isFilePath:true,paramType:e.Diagnostics.DIRECTORY},{name:"diagnostics",type:"boolean"},{name:"emitBOM",type:"boolean"},{name:"help",shortName:"h",type:"boolean",description:e.Diagnostics.Print_this_message},{name:"help",shortName:"?",type:"boolean"},{name:"init",type:"boolean",description:e.Diagnostics.Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file},{name:"inlineSourceMap",type:"boolean"},{name:"inlineSources",type:"boolean"},{name:"jsx",type:{preserve:1,react:2},paramType:e.Diagnostics.KIND,description:e.Diagnostics.Specify_JSX_code_generation_Colon_preserve_or_react},{name:"reactNamespace",type:"string",description:e.Diagnostics.Specify_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit},{name:"listFiles",type:"boolean"},{name:"locale",type:"string"},{name:"mapRoot",type:"string",isFilePath:true,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations,paramType:e.Diagnostics.LOCATION},{name:"module",shortName:"m",type:{none:e.ModuleKind.None,commonjs:e.ModuleKind.CommonJS,amd:e.ModuleKind.AMD,system:e.ModuleKind.System,umd:e.ModuleKind.UMD,es6:e.ModuleKind.ES6,es2015:e.ModuleKind.ES2015},description:e.Diagnostics.Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015,paramType:e.Diagnostics.KIND},{name:"newLine",type:{crlf:0,lf:1},description:e.Diagnostics.Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix,paramType:e.Diagnostics.NEWLINE},{name:"noEmit",type:"boolean",description:e.Diagnostics.Do_not_emit_outputs},{name:"noEmitHelpers",type:"boolean"},{name:"noEmitOnError",type:"boolean",description:e.Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported},{name:"noImplicitAny",type:"boolean",description:e.Diagnostics.Raise_error_on_expressions_and_declarations_with_an_implied_any_type},{name:"noImplicitThis",type:"boolean",description:e.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type},{name:"noUnusedLocals",type:"boolean",description:e.Diagnostics.Report_Errors_on_Unused_Locals},{name:"noUnusedParameters",type:"boolean",description:e.Diagnostics.Report_Errors_on_Unused_Parameters},{name:"noLib",type:"boolean"},{name:"noResolve",type:"boolean"},{name:"skipDefaultLibCheck",type:"boolean"},{name:"skipLibCheck",type:"boolean",description:e.Diagnostics.Skip_type_checking_of_declaration_files},{name:"out",type:"string",isFilePath:false,paramType:e.Diagnostics.FILE},{name:"outFile",type:"string",isFilePath:true,description:e.Diagnostics.Concatenate_and_emit_output_to_single_file,paramType:e.Diagnostics.FILE},{name:"outDir",type:"string",isFilePath:true,description:e.Diagnostics.Redirect_output_structure_to_the_directory,paramType:e.Diagnostics.DIRECTORY},{name:"preserveConstEnums",type:"boolean",description:e.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code},{name:"pretty",description:e.Diagnostics.Stylize_errors_and_messages_using_color_and_context_experimental,type:"boolean"},{name:"project",shortName:"p",type:"string",isFilePath:true,description:e.Diagnostics.Compile_the_project_in_the_given_directory,paramType:e.Diagnostics.DIRECTORY},{name:"removeComments",type:"boolean",description:e.Diagnostics.Do_not_emit_comments_to_output},{name:"rootDir",type:"string",isFilePath:true,paramType:e.Diagnostics.LOCATION,description:e.Diagnostics.Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir},{name:"isolatedModules",type:"boolean"},{name:"sourceMap",type:"boolean",description:e.Diagnostics.Generates_corresponding_map_file},{name:"sourceRoot",type:"string",isFilePath:true,description:e.Diagnostics.Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations,paramType:e.Diagnostics.LOCATION},{name:"suppressExcessPropertyErrors",type:"boolean",description:e.Diagnostics.Suppress_excess_property_checks_for_object_literals,experimental:true},{name:"suppressImplicitAnyIndexErrors",type:"boolean",description:e.Diagnostics.Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures},{name:"stripInternal",type:"boolean",description:e.Diagnostics.Do_not_emit_declarations_for_code_that_has_an_internal_annotation,experimental:true},{name:"target",shortName:"t",type:{es3:0,es5:1,es6:2,es2015:2},description:e.Diagnostics.Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015,paramType:e.Diagnostics.VERSION},{name:"version",shortName:"v",type:"boolean",description:e.Diagnostics.Print_the_compiler_s_version},{name:"watch",shortName:"w",type:"boolean",description:e.Diagnostics.Watch_input_files},{name:"experimentalDecorators",type:"boolean",description:e.Diagnostics.Enables_experimental_support_for_ES7_decorators},{name:"emitDecoratorMetadata",type:"boolean",experimental:true,description:e.Diagnostics.Enables_experimental_support_for_emitting_type_metadata_for_decorators},{name:"moduleResolution",type:{node:e.ModuleResolutionKind.NodeJs,classic:e.ModuleResolutionKind.Classic},description:e.Diagnostics.Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6},{name:"allowUnusedLabels",type:"boolean",description:e.Diagnostics.Do_not_report_errors_on_unused_labels},{name:"noImplicitReturns",type:"boolean",description:e.Diagnostics.Report_error_when_not_all_code_paths_in_function_return_a_value},{name:"noFallthroughCasesInSwitch",type:"boolean",description:e.Diagnostics.Report_errors_for_fallthrough_cases_in_switch_statement},{name:"allowUnreachableCode",type:"boolean",description:e.Diagnostics.Do_not_report_errors_on_unreachable_code},{name:"forceConsistentCasingInFileNames",type:"boolean",description:e.Diagnostics.Disallow_inconsistently_cased_references_to_the_same_file},{name:"baseUrl",type:"string",isFilePath:true,description:e.Diagnostics.Base_directory_to_resolve_non_absolute_module_names},{name:"paths",type:"object",isTSConfigOnly:true},{name:"rootDirs",type:"list",isTSConfigOnly:true,element:{name:"rootDirs",type:"string",isFilePath:true}},{name:"typeRoots",type:"list",element:{name:"typeRoots",type:"string",isFilePath:true}},{name:"types",type:"list",element:{name:"types",type:"string"},description:e.Diagnostics.Type_declaration_files_to_be_included_in_compilation},{name:"traceResolution",type:"boolean",description:e.Diagnostics.Enable_tracing_of_the_name_resolution_process},{name:"allowJs",type:"boolean",description:e.Diagnostics.Allow_javascript_files_to_be_compiled},{name:"allowSyntheticDefaultImports",type:"boolean",description:e.Diagnostics.Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking},{name:"noImplicitUseStrict",type:"boolean",description:e.Diagnostics.Do_not_emit_use_strict_directives_in_module_output},{name:"maxNodeModuleJsDepth",type:"number",description:e.Diagnostics.The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files},{name:"listEmittedFiles",type:"boolean"},{name:"lib",type:"list",element:{name:"lib",type:{es5:"lib.es5.d.ts",es6:"lib.es2015.d.ts",es2015:"lib.es2015.d.ts",es7:"lib.es2016.d.ts",es2016:"lib.es2016.d.ts",es2017:"lib.es2017.d.ts",dom:"lib.dom.d.ts",webworker:"lib.webworker.d.ts",scripthost:"lib.scripthost.d.ts","es2015.core":"lib.es2015.core.d.ts","es2015.collection":"lib.es2015.collection.d.ts","es2015.generator":"lib.es2015.generator.d.ts","es2015.iterable":"lib.es2015.iterable.d.ts","es2015.promise":"lib.es2015.promise.d.ts","es2015.proxy":"lib.es2015.proxy.d.ts","es2015.reflect":"lib.es2015.reflect.d.ts","es2015.symbol":"lib.es2015.symbol.d.ts","es2015.symbol.wellknown":"lib.es2015.symbol.wellknown.d.ts","es2016.array.include":"lib.es2016.array.include.d.ts","es2017.object":"lib.es2017.object.d.ts","es2017.sharedmemory":"lib.es2017.sharedmemory.d.ts"}},description:e.Diagnostics.Specify_library_files_to_be_included_in_the_compilation_Colon},{name:"disableSizeLimit",type:"boolean"},{name:"strictNullChecks",type:"boolean",description:e.Diagnostics.Enable_strict_null_checks}];e.typingOptionDeclarations=[{name:"enableAutoDiscovery",type:"boolean"},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}}];var t;function getOptionNameMap(){if(t)return t;var r={};var n={};e.forEach(e.optionDeclarations,(function(e){r[e.name.toLowerCase()]=e;e.shortName&&(n[e.shortName]=e.name)}));t={optionNameMap:r,shortOptionNames:n};return t}e.getOptionNameMap=getOptionNameMap;function createCompilerDiagnosticForInvalidCustomType(t){var r=[];e.forEachKey(t.type,(function(e){r.push(" '"+e+"'")}));return e.createCompilerDiagnostic(e.Diagnostics.Argument_for_0_option_must_be_Colon_1,"--"+t.name,r)}e.createCompilerDiagnosticForInvalidCustomType=createCompilerDiagnosticForInvalidCustomType;function parseCustomTypeOption(t,r,n){var a=trimString(r||"").toLowerCase();var i=t.type;if(e.hasProperty(i,a))return i[a];n.push(createCompilerDiagnosticForInvalidCustomType(t))}e.parseCustomTypeOption=parseCustomTypeOption;function parseListTypeOption(t,r,n){void 0===r&&(r="");r=trimString(r);if(!e.startsWith(r,"-")){if(""===r)return[];var a=r.split(",");switch(t.element.type){case"number":return e.map(a,parseInt);case"string":return e.map(a,(function(e){return e||""}));default:return e.filter(e.map(a,(function(e){return parseCustomTypeOption(t.element,e,n)})),(function(e){return!!e}))}}}e.parseListTypeOption=parseListTypeOption;function parseCommandLine(t,r){var n={};var a=[];var i=[];var o=getOptionNameMap(),s=o.optionNameMap,c=o.shortOptionNames;parseStrings(t);return{options:n,fileNames:a,errors:i};function parseStrings(t){var r=0;while(r=n.length)break;var s=o;if(34===n.charCodeAt(s)){o++;while(o32)o++;a.push(n.substring(s,o))}}parseStrings(a)}else i.push(e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found,t))}}e.parseCommandLine=parseCommandLine;function readConfigFile(t,r){var n="";try{n=r(t)}catch(r){return{error:e.createCompilerDiagnostic(e.Diagnostics.Cannot_read_file_0_Colon_1,t,r.message)}}return parseConfigFileTextToJson(t,n)}e.readConfigFile=readConfigFile;function parseConfigFileTextToJson(t,r){try{var n=removeComments(r);return{config:/\S/.test(n)?JSON.parse(n):{}}}catch(r){return{error:e.createCompilerDiagnostic(e.Diagnostics.Failed_to_parse_file_0_Colon_1,t,r.message)}}}e.parseConfigFileTextToJson=parseConfigFileTextToJson;function removeComments(t){var r="";var n=e.createScanner(1,false,0,t);var a;while(1!==(a=n.scan()))switch(a){case 2:case 3:r+=n.getTokenText().replace(/\S/g," ");break;default:r+=n.getTokenText();break}return r}var r=/(\.min\.js$)|([\\/]\.[\w.])/;function parseJsonConfigFileContent(t,r,n,a,i){void 0===a&&(a={});var o=[];var s=convertCompilerOptionsFromJsonWorker(t["compilerOptions"],n,o,i);var c=e.extend(a,s);var l=convertTypingOptionsFromJsonWorker(t["typingOptions"],n,o,i);c.configFilePath=i;var u=getFileNames(o),_=u.fileNames,d=u.wildcardDirectories;return{options:c,fileNames:_,typingOptions:l,raw:t,errors:o,wildcardDirectories:d};function getFileNames(a){var i;e.hasProperty(t,"files")&&(e.isArray(t["files"])?i=t["files"]:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"files","Array")));var o;e.hasProperty(t,"include")&&(e.isArray(t["include"])?o=t["include"]:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"include","Array")));var s;e.hasProperty(t,"exclude")?e.isArray(t["exclude"])?s=t["exclude"]:a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"exclude","Array")):e.hasProperty(t,"excludes")?a.push(e.createCompilerDiagnostic(e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude)):s=["node_modules","bower_components","jspm_packages"];var l=t["compilerOptions"]&&t["compilerOptions"]["outDir"];l&&s.push(l);void 0===i&&void 0===o&&(o=["**/*"]);return matchFileNames(i,o,s,n,c,r,a)}}e.parseJsonConfigFileContent=parseJsonConfigFileContent;function convertCompilerOptionsFromJson(e,t,r){var n=[];var a=convertCompilerOptionsFromJsonWorker(e,t,n,r);return{options:a,errors:n}}e.convertCompilerOptionsFromJson=convertCompilerOptionsFromJson;function convertTypingOptionsFromJson(e,t,r){var n=[];var a=convertTypingOptionsFromJsonWorker(e,t,n,r);return{options:a,errors:n}}e.convertTypingOptionsFromJson=convertTypingOptionsFromJson;function convertCompilerOptionsFromJsonWorker(t,r,n,a){var i="jsconfig.json"===e.getBaseFileName(a)?{allowJs:true}:{};convertOptionsFromJson(e.optionDeclarations,t,r,i,e.Diagnostics.Unknown_compiler_option_0,n);return i}function convertTypingOptionsFromJsonWorker(t,r,n,a){var i="jsconfig.json"===e.getBaseFileName(a)?{enableAutoDiscovery:true,include:[],exclude:[]}:{enableAutoDiscovery:false,include:[],exclude:[]};convertOptionsFromJson(e.typingOptionDeclarations,t,r,i,e.Diagnostics.Unknown_typing_option_0,n);return i}function convertOptionsFromJson(t,r,n,a,i,o){if(r){var s=e.arrayToMap(t,(function(e){return e.name}));for(var c in r)if(e.hasProperty(s,c)){var l=s[c];a[l.name]=convertJsonOption(l,r[c],n,o)}else o.push(e.createCompilerDiagnostic(i,c))}}function convertJsonOption(t,r,n,a){var i=t.type;var o="string"===typeof i?i:"string";if("list"===i&&e.isArray(r))return convertJsonOptionOfListType(t,r,n,a);if(typeof r===o){if("string"!==typeof i)return convertJsonOptionOfCustomType(t,r,a);if(t.isFilePath){r=e.normalizePath(e.combinePaths(n,r));""===r&&(r=".")}return r}a.push(e.createCompilerDiagnostic(e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,t.name,o))}function convertJsonOptionOfCustomType(t,r,n){var a=r.toLowerCase();if(e.hasProperty(t.type,a))return t.type[a];n.push(createCompilerDiagnosticForInvalidCustomType(t))}function convertJsonOptionOfListType(t,r,n,a){return e.filter(e.map(r,(function(e){return convertJsonOption(t.element,e,n,a)})),(function(e){return!!e}))}function trimString(e){return"function"===typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}var n=/(^|\/)\*\*\/?$/;var a=/(^|\/)\*\*\/(.*\/)?\*\*($|\/)/;var i=/(^|\/)\*\*\/(.*\/)?\.\.($|\/)/;var o=/\/[^/]*?[*?][^/]*\//;var s=/^[^*?]*(?=\/[^/]*[*?])/;function matchFileNames(t,n,a,i,o,s,c){i=e.normalizePath(i);var l=s.useCaseSensitiveFileNames?caseSensitiveKeyMapper:caseInsensitiveKeyMapper;var u={};var _={};n&&(n=validateSpecs(n,c,false));a&&(a=validateSpecs(a,c,true));var d=getWildcardDirectories(n,a,i,s.useCaseSensitiveFileNames);var p=e.getSupportedExtensions(o);if(t)for(var m=0,g=t;m0)for(var h=0,v=s.readDirectory(i,p,a,n);h1){var n={pos:t,end:r,kind:2};addOutliningSpanComments(n,false)}}function autoCollapse(t){return e.isFunctionBlock(t)&&180!==t.parent.kind}var a=0;var i=20;function walk(o){if(!(a>i)){e.isDeclaration(o)&&addOutliningForLeadingCommentsForNode(o);switch(o.kind){case 199:if(!e.isFunctionBlock(o)){var s=o.parent;var c=e.findChildOfKind(o,15,t);var l=e.findChildOfKind(o,16,t);if(204===s.kind||207===s.kind||208===s.kind||206===s.kind||203===s.kind||205===s.kind||212===s.kind||252===s.kind){addOutliningSpan(s,c,l,autoCollapse(o));break}if(216===s.kind){var u=s;if(u.tryBlock===o){addOutliningSpan(s,c,l,autoCollapse(o));break}if(u.finallyBlock===o){var _=e.findChildOfKind(u,85,t);if(_){addOutliningSpan(_,c,l,autoCollapse(o));break}}}var d=e.createTextSpanFromBounds(o.getStart(),o.end);r.push({textSpan:d,hintSpan:d,bannerText:n,autoCollapse:autoCollapse(o)});break}case 226:var c=e.findChildOfKind(o,15,t);var l=e.findChildOfKind(o,16,t);addOutliningSpan(o.parent,c,l,autoCollapse(o));break;case 221:case 222:case 224:case 171:case 227:var c=e.findChildOfKind(o,15,t);var l=e.findChildOfKind(o,16,t);addOutliningSpan(o,c,l,autoCollapse(o));break;case 170:var p=e.findChildOfKind(o,19,t);var m=e.findChildOfKind(o,20,t);addOutliningSpan(o,p,m,autoCollapse(o));break}a++;e.forEachChild(o,walk);a--}}walk(t);return r}t.collectElements=collectElements})(t=e.OutliningElementsCollector||(e.OutliningElementsCollector={}))})(l||(l={}));var l;(function(e){var t;(function(t){function getNavigateToItems(t,r,n,a,i){var o=e.createPatternMatcher(a);var s=[];var c={sensitivity:"base"};e.forEach(t.getSourceFiles(),(function(t){n.throwIfCancellationRequested();var r=t.getNamedDeclarations();for(var a in r){var i=e.getProperty(r,a);if(i){var c=o.getMatchesForLastSegmentOfPattern(a);if(!c)continue;for(var l=0,u=i;l0);for(var r=0,n=t;r0);var r=e.PatternMatchKind.camelCase;for(var n=0,a=t;n0)return n}switch(t.kind){case 256:var a=t;return e.isExternalModule(a)?'"'+e.escapeString(e.getBaseFileName(e.removeFileExtension(e.normalizePath(a.fileName))))+'"':"";case 180:case 220:case 179:case 221:case 192:return 512&t.flags?"default":getFunctionOrClassName(t);case 148:return"constructor";case 152:return"new()";case 151:return"()";case 153:return"[]";case 279:return getJSDocTypedefTagName(t);default:return""}}function getJSDocTypedefTagName(e){if(e.name)return e.name.text;var t=e.parent&&e.parent.parent;if(t&&200===t.kind&&t.declarationList.declarations.length>0){var r=t.declarationList.declarations[0].name;if(69===r.kind)return r.text}return""}function topLevelItems(t){var r=[];function recur(e){if(isTopLevel(e)){r.push(e);if(e.children)for(var t=0,n=e.children;t0?e.declarationNameToString(t.name):218===t.parent.kind?e.declarationNameToString(t.parent.name):187===t.parent.kind&&56===t.parent.operatorToken.kind?nodeText(t.parent.left):253===t.parent.kind&&t.parent.name?nodeText(t.parent.name):512&t.flags?"default":e.isClassLike(t)?"":""}function isFunctionOrClassExpression(e){return 179===e.kind||180===e.kind||192===e.kind}})(t=e.NavigationBar||(e.NavigationBar={}))})(l||(l={}));var l;(function(e){(function(e){e[e["exact"]=0]="exact";e[e["prefix"]=1]="prefix";e[e["substring"]=2]="substring";e[e["camelCase"]=3]="camelCase"})(e.PatternMatchKind||(e.PatternMatchKind={}));var t=e.PatternMatchKind;function createPatternMatch(e,t,r,n){return{kind:e,punctuationStripped:t,isCaseSensitive:r,camelCaseWeight:n}}function createPatternMatcher(r){var n={};r=r.trim();var a=r.split(".").map((function(e){return createSegment(e.trim())}));var i=0===a.length||e.forEach(a,segmentIsInvalid);return{getMatches:getMatches,getMatchesForLastSegmentOfPattern:getMatchesForLastSegmentOfPattern,patternContainsDots:a.length>1};function skipMatch(e){return i||!e}function getMatchesForLastSegmentOfPattern(t){if(!skipMatch(t))return matchSegment(t,e.lastOrUndefined(a))}function getMatches(t,r){if(!skipMatch(r)){var n=matchSegment(r,e.lastOrUndefined(a));if(n){t=t||[];if(!(a.length-1>t.length)){var i=n;for(var o=a.length-2,s=t.length-1;o>=0;o-=1,s-=1){var c=a[o];var l=t[s];var u=matchSegment(l,c);if(!u)return;e.addRange(i,u)}return i}}}}function getWordSpans(t){e.hasProperty(n,t)||(n[t]=breakIntoWordSpans(t));return n[t]}function matchTextChunk(e,r,n){var a=indexOfIgnoringCase(e,r.textLowerCase);if(0===a)return r.text.length===e.length?createPatternMatch(t.exact,n,e===r.text):createPatternMatch(t.prefix,n,startsWith(e,r.text));var i=r.isLowerCase;if(i){if(a>0){var o=getWordSpans(e);for(var s=0,c=o;s0)return createPatternMatch(t.substring,n,true);if(!i&&r.characterSpans.length>0){var u=getWordSpans(e);var _=tryCamelCaseMatch(e,u,r,false);if(void 0!==_)return createPatternMatch(t.camelCase,n,true,_);_=tryCamelCaseMatch(e,u,r,true);if(void 0!==_)return createPatternMatch(t.camelCase,n,false,_)}return i&&r.text.length0&&isUpperCaseLetter(e.charCodeAt(a))?createPatternMatch(t.substring,n,false):void 0}function containsSpaceOrAsterisk(e){for(var t=0;tt.length)return false;if(n)for(var s=0;s=65&&t<=90)return true;if(t<127||!e.isUnicodeIdentifierStart(t,2))return false;var r=String.fromCharCode(t);return r===r.toUpperCase()}function isLowerCaseLetter(t){if(t>=97&&t<=122)return true;if(t<127||!e.isUnicodeIdentifierStart(t,2))return false;var r=String.fromCharCode(t);return r===r.toLowerCase()}function startsWith(e,t){for(var r=0,n=t.length;r=65&&e<=90?97+(e-65):e<127?e:String.fromCharCode(e).toLowerCase().charCodeAt(0)}function isDigit(e){return e>=48&&e<=57}function isWordChar(e){return isUpperCaseLetter(e)||isLowerCaseLetter(e)||isDigit(e)||95===e||36===e}function breakPatternIntoTextChunks(e){var t=[];var r=0;var n=0;for(var a=0;a0){t.push(createTextChunk(e.substr(r,n)));n=0}}n>0&&t.push(createTextChunk(e.substr(r,n)));return t}function createTextChunk(e){var t=e.toLowerCase();return{text:e,textLowerCase:t,isLowerCase:e===t,characterSpans:breakIntoCharacterSpans(e)}}function breakIntoCharacterSpans(e){return breakIntoSpans(e,false)}e.breakIntoCharacterSpans=breakIntoCharacterSpans;function breakIntoWordSpans(e){return breakIntoSpans(e,true)}e.breakIntoWordSpans=breakIntoWordSpans;function breakIntoSpans(t,r){var n=[];var a=0;for(var i=1,o=t.length;i0&&24===e.lastOrUndefined(r).kind&&n++;return n}function getArgumentIndexForTemplatePiece(t,r,n){e.Debug.assert(n>=r.getStart(),"Assumed 'position' could not occur before node.");return e.isTemplateLiteralKind(r.kind)?e.isInsideTemplateLiteral(r,n)?0:t+2:t+1}function getArgumentListInfoForTemplate(t,r,n){var a=11===t.template.kind?1:t.template.templateSpans.length+1;e.Debug.assert(0===r||ra.parent.end)&&e.Debug.fail("Node of kind "+a.kind+" is not a subspan of its parent of kind "+a.parent.kind);var i=getImmediatelyContainingArgumentInfo(a,r,n);if(i)return i}}t.getContainingArgumentInfo=getContainingArgumentInfo;function getChildListThatStartsWithOpenerToken(t,r,n){var a=t.getChildren(n);var i=a.indexOf(r);e.Debug.assert(i>=0&&a.length>i+1);return a[i+1]}function selectBestInvalidOverloadIndex(e,t){var r=-1;var n=-1;for(var a=0;a=t)return a;if(i.parameters.length>n){n=i.parameters.length;r=a}}return r}function createSignatureHelpItems(t,n,a,i){var o=a.argumentsSpan;var s=0===a.kind;var c=a.invocation;var l=e.getInvokedExpression(c);var u=i.getSymbolAtLocation(l);var _=u&&e.symbolToDisplayParts(i,u,void 0,void 0);var d=e.map(t,(function(t){var n;var a=[];var o=[];_&&e.addRange(a,_);if(s){a.push(e.punctuationPart(25));var l=t.typeParameters;n=l&&l.length>0?e.map(l,createSignatureHelpParameterForTypeParameter):r;o.push(e.punctuationPart(27));var u=e.mapToDisplayParts((function(e){return i.getSymbolDisplayBuilder().buildDisplayForParametersAndDelimiters(t.thisParameter,t.parameters,e,c)}));e.addRange(o,u)}else{var d=e.mapToDisplayParts((function(e){return i.getSymbolDisplayBuilder().buildDisplayForTypeParametersAndDelimiters(t.typeParameters,e,c)}));e.addRange(a,d);a.push(e.punctuationPart(17));var p=t.parameters;n=p.length>0?e.map(p,createSignatureHelpParameterForParameter):r;o.push(e.punctuationPart(18))}var m=e.mapToDisplayParts((function(e){return i.getSymbolDisplayBuilder().buildReturnTypeDisplay(t,e,c)}));e.addRange(o,m);return{isVariadic:t.hasRestParameter,prefixDisplayParts:a,suffixDisplayParts:o,separatorDisplayParts:[e.punctuationPart(24),e.spacePart()],parameters:n,documentation:t.getDocumentationComment()}}));var p=a.argumentIndex;var m=a.argumentCount;var g=t.indexOf(n);g<0&&(g=selectBestInvalidOverloadIndex(t,m));e.Debug.assert(0===p||p=r.end}e.startEndContainsRange=startEndContainsRange;function rangeContainsStartEnd(e,t,r){return e.pos<=t&&e.end>=r}e.rangeContainsStartEnd=rangeContainsStartEnd;function rangeOverlapsWithStartEnd(e,t,r){return startEndOverlapsWithStartEnd(e.pos,e.end,t,r)}e.rangeOverlapsWithStartEnd=rangeOverlapsWithStartEnd;function startEndOverlapsWithStartEnd(e,t,r,n){var a=Math.max(e,r);var i=Math.min(t,n);return at||!isCompletedNode(e,r)}e.positionBelongsToNode=positionBelongsToNode;function isCompletedNode(t,r){if(e.nodeIsMissing(t))return false;switch(t.kind){case 221:case 222:case 224:case 171:case 167:case 159:case 199:case 226:case 227:case 233:case 237:return nodeEndsWith(t,16,r);case 252:return isCompletedNode(t.block,r);case 175:if(!t.arguments)return true;case 174:case 178:case 164:return nodeEndsWith(t,18,r);case 156:case 157:return isCompletedNode(t.type,r);case 148:case 149:case 150:case 220:case 179:case 147:case 146:case 152:case 151:case 180:return t.body?isCompletedNode(t.body,r):t.type?isCompletedNode(t.type,r):hasChildOfKind(t,18,r);case 225:return t.body&&isCompletedNode(t.body,r);case 203:return t.elseStatement?isCompletedNode(t.elseStatement,r):isCompletedNode(t.thenStatement,r);case 202:return isCompletedNode(t.expression,r)||hasChildOfKind(t,23);case 170:case 168:case 173:case 140:case 161:return nodeEndsWith(t,20,r);case 153:return t.type?isCompletedNode(t.type,r):hasChildOfKind(t,20,r);case 249:case 250:return false;case 206:case 207:case 208:case 205:return isCompletedNode(t.statement,r);case 204:var n=findChildOfKind(t,104,r);return n?nodeEndsWith(t,18,r):isCompletedNode(t.statement,r);case 158:return isCompletedNode(t.exprName,r);case 182:case 181:case 183:case 190:case 191:var a=t;return isCompletedNode(a.expression,r);case 176:return isCompletedNode(t.template,r);case 189:var i=e.lastOrUndefined(t.templateSpans);return isCompletedNode(i,r);case 197:return e.nodeIsPresent(t.literal);case 236:case 230:return e.nodeIsPresent(t.moduleSpecifier);case 185:return isCompletedNode(t.operand,r);case 187:return isCompletedNode(t.right,r);case 188:return isCompletedNode(t.whenFalse,r);default:return true}}e.isCompletedNode=isCompletedNode;function nodeEndsWith(t,r,n){var a=t.getChildren(n);if(a.length){var i=e.lastOrUndefined(a);if(i.kind===r)return true;if(23===i.kind&&1!==a.length)return a[a.length-2].kind===r}return false}function findListItemInfo(t){var r=findContainingList(t);if(r){var n=r.getChildren();var a=e.indexOf(n,t);return{listItemIndex:a,list:r}}}e.findListItemInfo=findListItemInfo;function hasChildOfKind(e,t,r){return!!findChildOfKind(e,t,r)}e.hasChildOfKind=hasChildOfKind;function findChildOfKind(t,r,n){return e.forEach(t.getChildren(n),(function(e){return e.kind===r&&e}))}e.findChildOfKind=findChildOfKind;function findContainingList(t){var r=e.forEach(t.parent.getChildren(),(function(e){if(282===e.kind&&e.pos<=t.pos&&e.end>=t.end)return e}));e.Debug.assert(!r||e.contains(r.getChildren(),t));return r}e.findContainingList=findContainingList;function getTouchingWord(e,t,r){void 0===r&&(r=false);return getTouchingToken(e,t,(function(e){return isWord(e.kind)}),r)}e.getTouchingWord=getTouchingWord;function getTouchingPropertyName(e,t,r){void 0===r&&(r=false);return getTouchingToken(e,t,(function(e){return isPropertyName(e.kind)}),r)}e.getTouchingPropertyName=getTouchingPropertyName;function getTouchingToken(e,t,r,n){void 0===n&&(n=false);return getTokenAtPositionWorker(e,t,false,r,n)}e.getTouchingToken=getTouchingToken;function getTokenAtPosition(e,t,r){void 0===r&&(r=false);return getTokenAtPositionWorker(e,t,true,void 0,r)}e.getTokenAtPosition=getTokenAtPosition;function getTokenAtPositionWorker(t,r,n,a,i){void 0===i&&(i=false);var o=t;e:while(true){if(isToken(o))return o;if(i){var s=e.filter(o.getChildren(),e.isJSDocNode);for(var c=0,l=s;cr.getStart(e)&&te.end||i.pos===e.end;if(o&&nodeHasTokens(i))return find(i)}}}e.findNextToken=findNextToken;function findPrecedingToken(t,r,n){return find(n||r);function findRightmostToken(e){if(isToken(e)||244===e.kind)return e;var t=e.getChildren();var r=findRightmostChildNodeWithTokens(t,t.length);return r&&findRightmostToken(r)}function find(a){if(isToken(a)||244===a.kind)return a;var i=a.getChildren();for(var o=0,s=i.length;o=t||244===c.kind&&l===c.end;if(u){var _=findRightmostChildNodeWithTokens(i,o);return _&&findRightmostToken(_)}return find(c)}}e.Debug.assert(void 0!==n||256===a.kind);if(i.length){var _=findRightmostChildNodeWithTokens(i,i.length);return _&&findRightmostToken(_)}}function findRightmostChildNodeWithTokens(e,t){for(var r=t-1;r>=0;r--)if(nodeHasTokens(e[r]))return e[r]}}e.findPrecedingToken=findPrecedingToken;function isInString(e,t){var r=findPrecedingToken(t,e);if(r&&(9===r.kind||166===r.kind)){var n=r.getStart();var a=r.getEnd();if(nn.getStart(t)}e.isInTemplateString=isInTemplateString;function isInCommentHelper(t,r,n){var a=getTokenAtPosition(t,r);if(a&&r<=a.getStart(t)){var i=e.getLeadingCommentRanges(t.text,a.pos);return n?e.forEach(i,(function(e){return e.pos=e.pos+3&&"/"===r[e.pos]&&"*"===r[e.pos+1]&&"*"===r[e.pos+2]}}e.hasDocComment=hasDocComment;function getJsDocTagAtPosition(t,r){var n=e.getTokenAtPosition(t,r);if(isToken(n))switch(n.kind){case 102:case 108:case 74:n=void 0===n.parent?void 0:n.parent.parent;break;default:n=n.parent;break}if(n&&n.jsDocComments)for(var a=0,i=n.jsDocComments;a0?n.join(","):e.ScriptElementKindModifier.none}e.getNodeModifiers=getNodeModifiers;function getTypeArgumentOrTypeParameterList(t){return 155===t.kind||174===t.kind?t.typeArguments:e.isFunctionLike(t)||221===t.kind||222===t.kind?t.typeParameters:void 0}e.getTypeArgumentOrTypeParameterList=getTypeArgumentOrTypeParameterList;function isToken(e){return e.kind>=0&&e.kind<=138}e.isToken=isToken;function isWord(t){return 69===t||e.isKeyword(t)}e.isWord=isWord;function isPropertyName(e){return 9===e||8===e||isWord(e)}function isComment(e){return 2===e||3===e}e.isComment=isComment;function isStringOrRegularExpressionOrTemplateLiteral(t){return!(9!==t&&166!==t&&10!==t&&!e.isTemplateLiteralKind(t))}e.isStringOrRegularExpressionOrTemplateLiteral=isStringOrRegularExpressionOrTemplateLiteral;function isPunctuation(e){return 15<=e&&e<=68}e.isPunctuation=isPunctuation;function isInsideTemplateLiteral(t,r){return e.isTemplateLiteralKind(t.kind)&&t.getStart()0&&142===e.declarations[0].kind}e.isFirstDeclarationOfSymbolParameter=isFirstDeclarationOfSymbolParameter;var t=getDisplayPartWriter();function getDisplayPartWriter(){var t;var r;var n;resetWriter();return{displayParts:function(){return t},writeKeyword:function(t){return writeKind(t,e.SymbolDisplayPartKind.keyword)},writeOperator:function(t){return writeKind(t,e.SymbolDisplayPartKind.operator)},writePunctuation:function(t){return writeKind(t,e.SymbolDisplayPartKind.punctuation)},writeSpace:function(t){return writeKind(t,e.SymbolDisplayPartKind.space)},writeStringLiteral:function(t){return writeKind(t,e.SymbolDisplayPartKind.stringLiteral)},writeParameter:function(t){return writeKind(t,e.SymbolDisplayPartKind.parameterName)},writeSymbol:writeSymbol,writeLine:writeLine,increaseIndent:function(){n++},decreaseIndent:function(){n--},clear:resetWriter,trackSymbol:function(){},reportInaccessibleThisError:function(){}};function writeIndent(){if(r){var a=e.getIndentString(n);a&&t.push(displayPart(a,e.SymbolDisplayPartKind.space));r=false}}function writeKind(e,r){writeIndent();t.push(displayPart(e,r))}function writeSymbol(e,r){writeIndent();t.push(symbolPart(e,r))}function writeLine(){t.push(lineBreakPart());r=true}function resetWriter(){t=[];r=true;n=0}}function symbolPart(t,r){return displayPart(t,displayPartKind(r),r);function displayPartKind(t){var r=t.flags;return 3&r?isFirstDeclarationOfSymbolParameter(t)?e.SymbolDisplayPartKind.parameterName:e.SymbolDisplayPartKind.localName:4&r||32768&r||65536&r?e.SymbolDisplayPartKind.propertyName:8&r?e.SymbolDisplayPartKind.enumMemberName:16&r?e.SymbolDisplayPartKind.functionName:32&r?e.SymbolDisplayPartKind.className:64&r?e.SymbolDisplayPartKind.interfaceName:384&r?e.SymbolDisplayPartKind.enumName:1536&r?e.SymbolDisplayPartKind.moduleName:8192&r?e.SymbolDisplayPartKind.methodName:262144&r?e.SymbolDisplayPartKind.typeParameterName:524288&r||8388608&r?e.SymbolDisplayPartKind.aliasName:e.SymbolDisplayPartKind.text}}e.symbolPart=symbolPart;function displayPart(t,r,n){return{text:t,kind:e.SymbolDisplayPartKind[r]}}e.displayPart=displayPart;function spacePart(){return displayPart(" ",e.SymbolDisplayPartKind.space)}e.spacePart=spacePart;function keywordPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.keyword)}e.keywordPart=keywordPart;function punctuationPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.punctuation)}e.punctuationPart=punctuationPart;function operatorPart(t){return displayPart(e.tokenToString(t),e.SymbolDisplayPartKind.operator)}e.operatorPart=operatorPart;function textOrKeywordPart(t){var r=e.stringToToken(t);return void 0===r?textPart(t):keywordPart(r)}e.textOrKeywordPart=textOrKeywordPart;function textPart(t){return displayPart(t,e.SymbolDisplayPartKind.text)}e.textPart=textPart;var r="\r\n";function getNewLineOrDefaultFromHost(e){return e.getNewLine?e.getNewLine():r}e.getNewLineOrDefaultFromHost=getNewLineOrDefaultFromHost;function lineBreakPart(){return displayPart("\n",e.SymbolDisplayPartKind.lineBreak)}e.lineBreakPart=lineBreakPart;function mapToDisplayParts(e){e(t);var r=t.displayParts();t.clear();return r}e.mapToDisplayParts=mapToDisplayParts;function typeToDisplayParts(e,t,r,n){return mapToDisplayParts((function(a){e.getSymbolDisplayBuilder().buildTypeDisplay(t,a,r,n)}))}e.typeToDisplayParts=typeToDisplayParts;function symbolToDisplayParts(e,t,r,n,a){return mapToDisplayParts((function(i){e.getSymbolDisplayBuilder().buildSymbolDisplay(t,i,r,n,a)}))}e.symbolToDisplayParts=symbolToDisplayParts;function signatureToDisplayParts(e,t,r,n){return mapToDisplayParts((function(a){e.getSymbolDisplayBuilder().buildSignatureDisplay(t,a,r,n)}))}e.signatureToDisplayParts=signatureToDisplayParts;function getDeclaredName(t,r,n){if(isImportOrExportSpecifierName(n))return n.getText();if(e.isStringOrNumericLiteral(n.kind)&&140===n.parent.kind)return n.text;var a=e.getLocalSymbolForExportDefault(r);var i=t.symbolToString(a||r);return i}e.getDeclaredName=getDeclaredName;function isImportOrExportSpecifierName(e){return e.parent&&(234===e.parent.kind||238===e.parent.kind)&&e.parent.propertyName===e}e.isImportOrExportSpecifierName=isImportOrExportSpecifierName;function stripQuotes(e){var t=e.length;return t>=2&&e.charCodeAt(0)===e.charCodeAt(t-1)&&(34===e.charCodeAt(0)||39===e.charCodeAt(0))?e.substring(1,t-1):e}e.stripQuotes=stripQuotes;function scriptKindIs(t,r){var n=[];for(var a=2;a>=n;r+=n}return t};RulesBucketConstructionState.prototype.IncreaseInsertionIndex=function(t){var r=(this||i).rulesInsertionIndexBitmap>>t&a;r++;e.Debug.assert((r&a)===r,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.");var n=(this||i).rulesInsertionIndexBitmap&~(a<=0};return TokenRangeAccess}();t.TokenRangeAccess=r;var n=function(){function TokenValuesAccess(e){(this||i).tokens=e&&e.length?e:[]}TokenValuesAccess.prototype.GetTokens=function(){return(this||i).tokens};TokenValuesAccess.prototype.Contains=function(e){return(this||i).tokens.indexOf(e)>=0};return TokenValuesAccess}();t.TokenValuesAccess=n;var a=function(){function TokenSingleValueAccess(e){(this||i).token=e}TokenSingleValueAccess.prototype.GetTokens=function(){return[(this||i).token]};TokenSingleValueAccess.prototype.Contains=function(e){return e===(this||i).token};return TokenSingleValueAccess}();t.TokenSingleValueAccess=a;var o=function(){function TokenAllAccess(){}TokenAllAccess.prototype.GetTokens=function(){var e=[];for(var t=0;t<=138;t++)e.push(t);return e};TokenAllAccess.prototype.Contains=function(e){return true};TokenAllAccess.prototype.toString=function(){return"[allTokens]"};return TokenAllAccess}();t.TokenAllAccess=o;var s=function(){function TokenRange(e){(this||i).tokenAccess=e}TokenRange.FromToken=function(e){return new TokenRange(new a(e))};TokenRange.FromTokens=function(e){return new TokenRange(new n(e))};TokenRange.FromRange=function(e,t,n){void 0===n&&(n=[]);return new TokenRange(new r(e,t,n))};TokenRange.AllTokens=function(){return new TokenRange(new o)};TokenRange.prototype.GetTokens=function(){return(this||i).tokenAccess.GetTokens()};TokenRange.prototype.Contains=function(e){return(this||i).tokenAccess.Contains(e)};TokenRange.prototype.toString=function(){return(this||i).tokenAccess.toString()};TokenRange.Any=TokenRange.AllTokens();TokenRange.AnyIncludingMultilineComments=TokenRange.FromTokens(TokenRange.Any.GetTokens().concat([3]));TokenRange.Keywords=TokenRange.FromRange(70,138);TokenRange.BinaryOperators=TokenRange.FromRange(25,68);TokenRange.BinaryKeywordOperators=TokenRange.FromTokens([90,91,138,116,124]);TokenRange.UnaryPrefixOperators=TokenRange.FromTokens([41,42,50,49]);TokenRange.UnaryPrefixExpressions=TokenRange.FromTokens([8,69,17,19,15,97,92]);TokenRange.UnaryPreincrementExpressions=TokenRange.FromTokens([69,17,97,92]);TokenRange.UnaryPostincrementExpressions=TokenRange.FromTokens([69,18,20,92]);TokenRange.UnaryPredecrementExpressions=TokenRange.FromTokens([69,17,97,92]);TokenRange.UnaryPostdecrementExpressions=TokenRange.FromTokens([69,18,20,92]);TokenRange.Comments=TokenRange.FromTokens([2,3]);TokenRange.TypeNames=TokenRange.FromTokens([69,130,132,120,133,103,117]);return TokenRange}();t.TokenRange=s})(r=t.Shared||(t.Shared={}))})(t=e.formatting||(e.formatting={}))})(l||(l={}));var l;(function(e){var t;(function(t){var r=function(){function RulesProvider(){(this||i).globalRules=new t.Rules}RulesProvider.prototype.getRuleName=function(e){return(this||i).globalRules.getRuleName(e)};RulesProvider.prototype.getRuleByName=function(e){return(this||i).globalRules[e]};RulesProvider.prototype.getRulesMap=function(){return(this||i).rulesMap};RulesProvider.prototype.ensureUpToDate=function(r){if(!(this||i).options||!e.compareDataObjects((this||i).options,r)){var n=this.createActiveRules(r);var a=t.RulesMap.create(n);(this||i).activeRules=n;(this||i).rulesMap=a;(this||i).options=e.clone(r)}};RulesProvider.prototype.createActiveRules=function(e){var t=(this||i).globalRules.HighPriorityCommonRules.slice(0);e.InsertSpaceAfterCommaDelimiter?t.push((this||i).globalRules.SpaceAfterComma):t.push((this||i).globalRules.NoSpaceAfterComma);e.InsertSpaceAfterFunctionKeywordForAnonymousFunctions?t.push((this||i).globalRules.SpaceAfterAnonymousFunctionKeyword):t.push((this||i).globalRules.NoSpaceAfterAnonymousFunctionKeyword);e.InsertSpaceAfterKeywordsInControlFlowStatements?t.push((this||i).globalRules.SpaceAfterKeywordInControl):t.push((this||i).globalRules.NoSpaceAfterKeywordInControl);if(e.InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis){t.push((this||i).globalRules.SpaceAfterOpenParen);t.push((this||i).globalRules.SpaceBeforeCloseParen);t.push((this||i).globalRules.NoSpaceBetweenParens)}else{t.push((this||i).globalRules.NoSpaceAfterOpenParen);t.push((this||i).globalRules.NoSpaceBeforeCloseParen);t.push((this||i).globalRules.NoSpaceBetweenParens)}if(e.InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets){t.push((this||i).globalRules.SpaceAfterOpenBracket);t.push((this||i).globalRules.SpaceBeforeCloseBracket);t.push((this||i).globalRules.NoSpaceBetweenBrackets)}else{t.push((this||i).globalRules.NoSpaceAfterOpenBracket);t.push((this||i).globalRules.NoSpaceBeforeCloseBracket);t.push((this||i).globalRules.NoSpaceBetweenBrackets)}if(e.InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces){t.push((this||i).globalRules.SpaceAfterTemplateHeadAndMiddle);t.push((this||i).globalRules.SpaceBeforeTemplateMiddleAndTail)}else{t.push((this||i).globalRules.NoSpaceAfterTemplateHeadAndMiddle);t.push((this||i).globalRules.NoSpaceBeforeTemplateMiddleAndTail)}if(e.InsertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces){t.push((this||i).globalRules.SpaceAfterOpenBraceInJsxExpression);t.push((this||i).globalRules.SpaceBeforeCloseBraceInJsxExpression)}else{t.push((this||i).globalRules.NoSpaceAfterOpenBraceInJsxExpression);t.push((this||i).globalRules.NoSpaceBeforeCloseBraceInJsxExpression)}e.InsertSpaceAfterSemicolonInForStatements?t.push((this||i).globalRules.SpaceAfterSemicolonInFor):t.push((this||i).globalRules.NoSpaceAfterSemicolonInFor);if(e.InsertSpaceBeforeAndAfterBinaryOperators){t.push((this||i).globalRules.SpaceBeforeBinaryOperator);t.push((this||i).globalRules.SpaceAfterBinaryOperator)}else{t.push((this||i).globalRules.NoSpaceBeforeBinaryOperator);t.push((this||i).globalRules.NoSpaceAfterBinaryOperator)}e.PlaceOpenBraceOnNewLineForControlBlocks&&t.push((this||i).globalRules.NewLineBeforeOpenBraceInControl);if(e.PlaceOpenBraceOnNewLineForFunctions){t.push((this||i).globalRules.NewLineBeforeOpenBraceInFunction);t.push((this||i).globalRules.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock)}t=t.concat((this||i).globalRules.LowPriorityCommonRules);return t};return RulesProvider}();t.RulesProvider=r})(t=e.formatting||(e.formatting={}))})(l||(l={}));var l;(function(e){var t;(function(t){var r;(function(e){e[e["Unknown"]=-1]="Unknown"})(r||(r={}));function formatOnEnter(t,r,n,a){var i=r.getLineAndCharacterOfPosition(t).line;if(0===i)return[];var o=e.getEndLinePosition(i,r);while(e.isWhiteSpaceSingleLine(r.text.charCodeAt(o)))o--;e.isLineBreak(r.text.charCodeAt(o))&&o--;var s={pos:e.getStartPositionOfLine(i-1,r),end:o+1};return formatSpan(s,r,a,n,2)}t.formatOnEnter=formatOnEnter;function formatOnSemicolon(e,t,r,n){return formatOutermostParent(e,23,t,n,r,3)}t.formatOnSemicolon=formatOnSemicolon;function formatOnClosingCurly(e,t,r,n){return formatOutermostParent(e,16,t,n,r,4)}t.formatOnClosingCurly=formatOnClosingCurly;function formatDocument(e,t,r){var n={pos:0,end:e.text.length};return formatSpan(n,e,r,t,0)}t.formatDocument=formatDocument;function formatSelection(t,r,n,a,i){var o={pos:e.getLineStartPositionForPosition(t,n),end:r};return formatSpan(o,n,i,a,1)}t.formatSelection=formatSelection;function formatOutermostParent(t,r,n,a,i,o){var s=findOutermostParent(t,r,n);if(!s)return[];var c={pos:e.getLineStartPositionForPosition(s.getStart(n),n),end:s.end};return formatSpan(c,n,a,i,o)}function findOutermostParent(t,r,n){var a=e.findPrecedingToken(t,n);if(a&&a.kind===r&&t===a.getEnd()){var i=a;while(i&&i.parent&&i.parent.end===a.end&&!isListElement(i.parent,i))i=i.parent;return i}}function isListElement(t,r){switch(t.kind){case 221:case 222:return e.rangeContainsRange(t.members,r);case 225:var n=t.body;return n&&199===n.kind&&e.rangeContainsRange(n.statements,r);case 256:case 199:case 226:return e.rangeContainsRange(t.statements,r);case 252:return e.rangeContainsRange(t.block.statements,r)}return false}function findEnclosingNode(t,r){return find(r);function find(n){var a=e.forEachChild(n,(function(n){return e.startEndContainsRange(n.getStart(r),n.end,t)&&n}));if(a){var i=find(a);if(i)return i}return n}}function prepareRangeContainsErrorFunction(t,r){if(!t.length)return rangeHasNoErrors;var n=t.filter((function(t){return e.rangeOverlapsWithStartEnd(r,t.start,t.start+t.length)})).sort((function(e,t){return e.start-t.start}));if(!n.length)return rangeHasNoErrors;var a=0;return function(t){while(true){if(a>=n.length)return false;var r=n[a];if(t.end<=r.start)return false;if(e.startEndOverlapsWithStartEnd(t.pos,t.end,r.start,r.start+r.length))return true;a++}};function rangeHasNoErrors(e){return false}}function getScanStartPosition(t,r,n){var a=t.getStart(n);if(a===r.pos&&t.end===r.end)return a;var i=e.findPrecedingToken(r.pos,n);return i?i.end>=r.pos?t.pos:i.end:t.pos}function getOwnOrInheritedDelta(e,r,n){var a=-1;var i;while(e){var o=n.getLineAndCharacterOfPosition(e.getStart(n)).line;if(-1!==a&&o!==a)break;if(t.SmartIndenter.shouldIndentChildNode(e,i))return r.IndentSize;a=o;i=e;e=e.parent}return 0}function formatSpan(r,n,a,i,o){var s=prepareRangeContainsErrorFunction(n.parseDiagnostics,r);var c=new t.FormattingContext(n,o);var l=findEnclosingNode(r,n);var u=t.getFormattingScanner(n,getScanStartPosition(l,r,n),r.end);var _=t.SmartIndenter.getIndentationForNode(l,r,n,a);var d;var p;var m;var g;var f;var y;var h=[];u.advance();if(u.isOnToken()){var v=n.getLineAndCharacterOfPosition(l.getStart(n)).line;var b=v;l.decorators&&(b=n.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(l,n)).line);var T=getOwnOrInheritedDelta(l,a,n);processNode(l,l,v,b,_,T)}if(!u.isOnToken()){var k=u.getCurrentLeadingTrivia();if(k){processTrivia(k,l,l,void 0);trimTrailingWhitespacesForRemainingRange()}}u.close();return h;function tryComputeIndentationForListItem(r,i,o,s,c){if(e.rangeOverlapsWithStartEnd(s,r,i)||e.rangeContainsStartEnd(s,r,i)){if(-1!==c)return c}else{var l=n.getLineAndCharacterOfPosition(r).line;var u=e.getLineStartPositionForPosition(r,n);var _=t.SmartIndenter.findFirstNonWhitespaceColumn(u,r,n,a);if(l!==o||r===_){var d=t.SmartIndenter.getBaseIndentation(a);return d>_?d:_}}return-1}function computeIndentation(e,r,i,o,s,c){var l=i;var u=t.SmartIndenter.shouldIndentChildNode(e)?a.IndentSize:0;if(c===r){l=r===f?y:s.getIndentation();u=Math.min(a.IndentSize,s.getDelta(e)+u)}else-1===l&&(l=t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(o,e,r,n)?s.getIndentation():s.getIndentation()+s.getDelta(e));return{indentation:l,delta:u}}function getFirstNonDecoratorTokenOfNode(e){if(e.modifiers&&e.modifiers.length)return e.modifiers[0].kind;switch(e.kind){case 221:return 73;case 222:return 107;case 220:return 87;case 224:return 224;case 149:return 123;case 150:return 131;case 147:if(e.asteriskToken)return 37;case 145:case 142:return e.name.kind}}function getDynamicIndentation(e,r,n,i){return{getIndentationForComment:function(e,t,r){switch(e){case 16:case 20:case 18:return n+getEffectiveDelta(i,r)}return-1!==t?t:n},getIndentationForToken:function(t,a,o){if(r!==t&&e.decorators&&a===getFirstNonDecoratorTokenOfNode(e))return n;switch(a){case 15:case 16:case 19:case 20:case 17:case 18:case 80:case 104:case 55:return n;default:return r!==t?n+getEffectiveDelta(i,o):n}},getIndentation:function(){return n},getDelta:function(e){return getEffectiveDelta(i,e)},recomputeIndentation:function(r){if(e.parent&&t.SmartIndenter.shouldIndentChildNode(e.parent,e)){r?n+=a.IndentSize:n-=a.IndentSize;i=t.SmartIndenter.shouldIndentChildNode(e)?a.IndentSize:0}}};function getEffectiveDelta(r,n){return t.SmartIndenter.nodeWillIndentChild(e,n,true)?r:0}}function processNode(t,a,i,o,c,l){if(e.rangeOverlapsWithStartEnd(r,t.getStart(n),t.getEnd())){var _=getDynamicIndentation(t,i,c,l);var d=a;e.forEachChild(t,(function(e){processChildNode(e,-1,t,_,i,o,false)}),(function(e){processChildNodes(e,t,i,_)}));while(u.isOnToken()){var m=u.readTokenInfo(t);if(m.token.end>t.end)break;consumeTokenAndAdvanceScanner(m,t,_)}}function processChildNode(a,i,o,s,c,l,_,p){var m=a.getStart(n);var g=n.getLineAndCharacterOfPosition(m).line;var f=g;a.decorators&&(f=n.getLineAndCharacterOfPosition(e.getNonDecoratorTokenPosOfNode(a,n)).line);var y=-1;if(_){y=tryComputeIndentationForListItem(m,a.end,c,r,i);-1!==y&&(i=y)}if(!e.rangeOverlapsWithStartEnd(r,a.pos,a.end)){a.endm)break;consumeTokenAndAdvanceScanner(h,t,s)}if(!u.isOnToken())return i;if(e.isToken(a)){var h=u.readTokenInfo(a);e.Debug.assert(h.token.end===a.end);consumeTokenAndAdvanceScanner(h,t,s,a);return i}var v=143===a.kind?g:l;var b=computeIndentation(a,g,y,t,s,v);processNode(a,d,g,f,b.indentation,b.delta);d=t;p&&170===o.kind&&-1===i&&(i=b.indentation);return i}function processChildNodes(r,a,i,o){var s=getOpenTokenForList(a,r);var c=getCloseTokenForOpenToken(s);var l=o;var _=i;if(0!==s)while(u.isOnToken()){var d=u.readTokenInfo(a);if(d.token.end>r.pos)break;if(d.token.kind===s){_=n.getLineAndCharacterOfPosition(d.token.pos).line;var p=computeIndentation(d.token,_,-1,a,o,i);l=getDynamicIndentation(a,i,p.indentation,p.delta);consumeTokenAndAdvanceScanner(d,a,l)}else consumeTokenAndAdvanceScanner(d,a,o)}var m=-1;for(var g=0;g0){var k=getIndentationString(T,a);recordReplace(v,b.character,k)}else recordDelete(v,b.character)}}}else o||insertIndentation(r.pos,i,false)}function trimTrailingWhitespacesForLines(t,r,a){for(var i=t;is)){var c=getTrailingWhitespaceStartPosition(o,s);if(-1!==c){e.Debug.assert(c===o||!e.isWhiteSpaceSingleLine(n.text.charCodeAt(c-1)));recordDelete(c,s+1-c)}}}}function getTrailingWhitespaceStartPosition(t,r){var a=r;while(a>=t&&e.isWhiteSpaceSingleLine(n.text.charCodeAt(a)))a--;return a!==r?a+1:-1}function trimTrailingWhitespacesForRemainingRange(){var e=p?p.end:r.pos;var t=n.getLineAndCharacterOfPosition(e).line;var a=n.getLineAndCharacterOfPosition(r.end).line;trimTrailingWhitespacesForLines(t,a+1,p)}function newTextChange(t,r,n){return{span:e.createTextSpan(t,r),newText:n}}function recordDelete(e,t){t&&h.push(newTextChange(e,t,""))}function recordReplace(e,t,r){(t||r)&&h.push(newTextChange(e,t,r))}function applyRuleEdits(e,t,r,i,o){switch(e.Operation.Action){case 1:return;case 8:t.end!==i.pos&&recordDelete(t.end,i.pos-t.end);break;case 4:if(1!==e.Flag&&r!==o)return;var s=o-r;1!==s&&recordReplace(t.end,i.pos-t.end,a.NewLineCharacter);break;case 2:if(1!==e.Flag&&r!==o)return;var c=i.pos-t.end;1===c&&32===n.text.charCodeAt(t.end)||recordReplace(t.end,i.pos-t.end," ");break}}}function getOpenTokenForList(e,t){switch(e.kind){case 148:case 220:case 179:case 147:case 146:case 180:if(e.typeParameters===t)return 25;if(e.parameters===t)return 17;break;case 174:case 175:if(e.typeArguments===t)return 25;if(e.arguments===t)return 17;break;case 155:if(e.typeArguments===t)return 25}return 0}function getCloseTokenForOpenToken(e){switch(e){case 17:return 18;case 25:return 27}return 0}var n;var a;var i;function getIndentationString(e,t){var r=!n||n.tabSize!==t.TabSize||n.indentSize!==t.IndentSize;if(r){n={tabSize:t.TabSize,indentSize:t.IndentSize};a=i=void 0}if(t.ConvertTabsToSpaces){var o=void 0;var s=Math.floor(e/t.IndentSize);var c=e%t.IndentSize;i||(i=[]);if(void 0===i[s]){o=repeat(" ",t.IndentSize*s);i[s]=o}else o=i[s];return c?o+repeat(" ",c):o}var l=Math.floor(e/t.TabSize);var u=e-l*t.TabSize;var _=void 0;a||(a=[]);void 0===a[l]?a[l]=_=repeat("\t",l):_=a[l];return u?_+repeat(" ",u):_;function repeat(e,t){var r="";for(var n=0;nn.text.length)return getBaseIndentation(a);if(a.IndentStyle===e.IndentStyle.None)return 0;var i=e.findPrecedingToken(r,n);if(!i)return getBaseIndentation(a);var o=e.isStringOrRegularExpressionOrTemplateLiteral(i.kind);if(o&&i.getStart(n)<=r&&i.end>r)return 0;var s=n.getLineAndCharacterOfPosition(r).line;if(a.IndentStyle===e.IndentStyle.Block){var c=r;while(c>0){var l=n.text.charCodeAt(c);if(!e.isWhiteSpace(l))break;c--}var u=e.getLineStartPositionForPosition(c,n);return t.findFirstNonWhitespaceColumn(u,c,n,a)}if(24===i.kind&&187!==i.parent.kind){var _=getActualIndentationForListItemBeforeComma(i,n,a);if(-1!==_)return _}var d;var p=i;var m;var g;while(p){if(e.positionBelongsToNode(p,r,n)&&shouldIndentChildNode(p,d)){m=getStartLineAndCharacterForNode(p,n);g=nextTokenIsCurlyBraceOnSameLineAsCursor(i,p,s,n)?0:s!==m.line?a.IndentSize:0;break}var _=getActualIndentationForListItem(p,n,a);if(-1!==_)return _;_=getLineIndentationWhenExpressionIsInMultiLine(p,n,a);if(-1!==_)return _+a.IndentSize;d=p;p=p.parent}return p?getIndentationForNodeWorker(p,m,void 0,g,n,a):getBaseIndentation(a)}t.getIndentation=getIndentation;function getBaseIndentation(e){return e.BaseIndentSize||0}t.getBaseIndentation=getBaseIndentation;function getIndentationForNode(e,t,r,n){var a=r.getLineAndCharacterOfPosition(e.getStart(r));return getIndentationForNodeWorker(e,a,t,0,r,n)}t.getIndentationForNode=getIndentationForNode;function getIndentationForNodeWorker(e,t,r,n,a,i){var o=e.parent;var s;while(o){var c=true;if(r){var l=e.getStart(a);c=lr.end}if(c){var u=getActualIndentationForListItem(e,a,i);if(-1!==u)return u+n}s=getParentStart(o,e,a);var _=s.line===t.line||childStartsOnTheSameLineWithElseInIfStatement(o,e,t.line,a);if(c){var u=getActualIndentationForNode(e,o,t,_,a,i);if(-1!==u)return u+n;u=getLineIndentationWhenExpressionIsInMultiLine(e,a,i);if(-1!==u)return u+n}shouldIndentChildNode(o,e)&&!_&&(n+=i.IndentSize);e=o;t=s;o=e.parent}return n+getBaseIndentation(i)}function getParentStart(e,t,r){var n=getContainingList(t,r);return n?r.getLineAndCharacterOfPosition(n.pos):r.getLineAndCharacterOfPosition(e.getStart(r))}function getActualIndentationForListItemBeforeComma(t,r,n){var a=e.findListItemInfo(t);return a&&a.listItemIndex>0?deriveActualIndentationFromList(a.list.getChildren(),a.listItemIndex-1,r,n):-1}function getActualIndentationForNode(t,r,n,a,i,o){var s=(e.isDeclaration(t)||e.isStatement(t))&&(256===r.kind||!a);return s?findColumnForFirstNonWhitespaceCharacterInLine(n,i,o):-1}function nextTokenIsCurlyBraceOnSameLineAsCursor(t,r,n,a){var i=e.findNextToken(t,r);if(!i)return false;if(15===i.kind)return true;if(16===i.kind){var o=getStartLineAndCharacterForNode(i,a).line;return n===o}return false}function getStartLineAndCharacterForNode(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function childStartsOnTheSameLineWithElseInIfStatement(t,r,n,a){if(203===t.kind&&t.elseStatement===r){var i=e.findChildOfKind(t,80,a);e.Debug.assert(void 0!==i);var o=getStartLineAndCharacterForNode(i,a).line;return o===n}return false}t.childStartsOnTheSameLineWithElseInIfStatement=childStartsOnTheSameLineWithElseInIfStatement;function getContainingList(t,r){if(t.parent)switch(t.parent.kind){case 155:if(t.parent.typeArguments&&e.rangeContainsStartEnd(t.parent.typeArguments,t.getStart(r),t.getEnd()))return t.parent.typeArguments;break;case 171:return t.parent.properties;case 170:return t.parent.elements;case 220:case 179:case 180:case 147:case 146:case 151:case 152:var n=t.getStart(r);if(t.parent.typeParameters&&e.rangeContainsStartEnd(t.parent.typeParameters,n,t.getEnd()))return t.parent.typeParameters;if(e.rangeContainsStartEnd(t.parent.parameters,n,t.getEnd()))return t.parent.parameters;break;case 175:case 174:var n=t.getStart(r);if(t.parent.typeArguments&&e.rangeContainsStartEnd(t.parent.typeArguments,n,t.getEnd()))return t.parent.typeArguments;if(t.parent.arguments&&e.rangeContainsStartEnd(t.parent.arguments,n,t.getEnd()))return t.parent.arguments;break}}function getActualIndentationForListItem(t,r,n){var a=getContainingList(t,r);return a?getActualIndentationFromList(a):-1;function getActualIndentationFromList(a){var i=e.indexOf(a,t);return-1!==i?deriveActualIndentationFromList(a,i,r,n):-1}}function getLineIndentationWhenExpressionIsInMultiLine(e,t,r){if(18===e.kind)return-1;if(e.parent&&(174===e.parent.kind||175===e.parent.kind)&&e.parent.expression!==e){var n=e.parent.expression;var a=getStartingExpression(n);if(n===a)return-1;var i=t.getLineAndCharacterOfPosition(n.end);var o=t.getLineAndCharacterOfPosition(a.end);return i.line===o.line?-1:findColumnForFirstNonWhitespaceCharacterInLine(i,t,r)}return-1;function getStartingExpression(e){while(true)switch(e.kind){case 174:case 175:case 172:case 173:e=e.expression;break;default:return e}}}function deriveActualIndentationFromList(t,r,n,a){e.Debug.assert(r>=0&&r=0;s--)if(24!==t[s].kind){var c=n.getLineAndCharacterOfPosition(t[s].end).line;if(c!==o.line)return findColumnForFirstNonWhitespaceCharacterInLine(o,n,a);o=getStartLineAndCharacterForNode(t[s],n)}return-1}function findColumnForFirstNonWhitespaceCharacterInLine(e,t,r){var n=t.getPositionOfLineAndCharacter(e.line,0);return findFirstNonWhitespaceColumn(n,n+e.character,t,r)}function findFirstNonWhitespaceCharacterAndColumn(t,r,n,a){var i=0;var o=0;for(var s=t;s=139){r.setText((t||this.getSourceFile()).text);o=[];var s=(this||i).pos;var c=(this||i).kind>=273&&(this||i).kind<=281;var processNode=function(e){s=n)break;if(123===i.text.charCodeAt(t)){t++;for(var u=1;t=n)break}if(isName(t,n,i,r)){t=consumeWhiteSpaces(t+r.length);if(t>=n)break;var d="";var p=t;while(t=n)){void 0===o&&(o=i.getLineAndCharacterOfPosition(e).character);var r=t;t=consumeWhiteSpacesOnTheLine(t,n,i,o);if(!(t>=n)){var a=t-r;if(a=0);0===a.languageServiceRefCount&&n.remove(t)}return{acquireDocument:acquireDocument,acquireDocumentWithKey:acquireDocumentWithKey,updateDocument:updateDocument,updateDocumentWithKey:updateDocumentWithKey,releaseDocument:releaseDocument,releaseDocumentWithKey:releaseDocumentWithKey,reportStats:reportStats,getKeyForCompilationSettings:getKeyForCompilationSettings}}e.createDocumentRegistry=createDocumentRegistry;function preProcessFile(t,n,a){void 0===n&&(n=true);void 0===a&&(a=false);var i=[];var o=[];var s=[];var c;var l=false;var u=0;var _=false;function nextToken(){var e=r.scan();15===e?u++:16===e&&u--;return e}function processTripleSlashDirectives(){var r=e.getLeadingCommentRanges(t,0);e.forEach(r,(function(r){var n=t.substring(r.pos,r.end);var a=e.getFileReferenceFromReferencePath(n,r);if(a){l=a.isNoDefaultLib;var s=a.fileReference;if(s){var c=a.isTypeReferenceDirective?o:i;c.push(s)}}}))}function getFileReference(){var e=r.getTokenValue();var t=r.getTokenPos();return{fileName:e,pos:t,end:t+e.length}}function recordAmbientExternalModule(){c||(c=[]);c.push({ref:getFileReference(),depth:u})}function recordModuleName(){s.push(getFileReference());markAsExternalModuleIfTopLevel()}function markAsExternalModuleIfTopLevel(){0===u&&(_=true)}function tryConsumeDeclare(){var e=r.getToken();if(122===e){e=nextToken();if(125===e){e=nextToken();9===e&&recordAmbientExternalModule()}return true}return false}function tryConsumeImport(){var t=r.getToken();if(89===t){t=nextToken();if(9===t){recordModuleName();return true}if(69===t||e.isKeyword(t)){t=nextToken();if(136===t){t=nextToken();if(9===t){recordModuleName();return true}}else if(56===t){if(tryConsumeRequireCall(true))return true}else{if(24!==t)return true;t=nextToken()}}if(15===t){t=nextToken();while(16!==t&&1!==t)t=nextToken();if(16===t){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}}else if(37===t){t=nextToken();if(116===t){t=nextToken();if(69===t||e.isKeyword(t)){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}}}return true}return false}function tryConsumeExport(){var t=r.getToken();if(82===t){markAsExternalModuleIfTopLevel();t=nextToken();if(15===t){t=nextToken();while(16!==t&&1!==t)t=nextToken();if(16===t){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}}else if(37===t){t=nextToken();if(136===t){t=nextToken();9===t&&recordModuleName()}}else if(89===t){t=nextToken();if(69===t||e.isKeyword(t)){t=nextToken();if(56===t&&tryConsumeRequireCall(true))return true}}return true}return false}function tryConsumeRequireCall(e){var t=e?nextToken():r.getToken();if(129===t){t=nextToken();if(17===t){t=nextToken();9===t&&recordModuleName()}return true}return false}function tryConsumeDefine(){var e=r.getToken();if(69===e&&"define"===r.getTokenValue()){e=nextToken();if(17!==e)return true;e=nextToken();if(9===e){e=nextToken();if(24!==e)return true;e=nextToken()}if(19!==e)return true;e=nextToken();var t=0;while(20!==e&&1!==e){if(9===e){recordModuleName();t++}e=nextToken()}return true}return false}function processImports(){r.setText(t);nextToken();while(true){if(1===r.getToken())break;tryConsumeDeclare()||tryConsumeImport()||tryConsumeExport()||a&&(tryConsumeRequireCall(false)||tryConsumeDefine())||nextToken()}r.setText(void 0)}n&&processImports();processTripleSlashDirectives();if(_){if(c)for(var d=0,p=c;d0&&(N=filterObjectMembersList(s,n));return true}function tryGetImportOrExportClauseCompletionSymbols(t){var r=233===t.kind?230:236;var i=e.getAncestor(t,r);var o=i.moduleSpecifier;if(!o)return false;D=true;E=false;var s;var c=a.getSymbolAtLocation(i.moduleSpecifier);c&&(s=a.getExportsOfModule(c));N=s?filterNamedImportOrExportCompletionItems(s,t.elements):n;return true}function tryGetObjectLikeCompletionContainer(e){if(e)switch(e.kind){case 15:case 24:var t=e.parent;if(t&&(171===t.kind||167===t.kind))return t;break}}function tryGetNamedImportsOrExportsForCompletion(e){if(e)switch(e.kind){case 15:case 24:switch(e.parent.kind){case 233:case 237:return e.parent}}}function tryGetContainingJsxElement(e){if(e){var t=e.parent;switch(e.kind){case 26:case 39:case 69:case 246:case 247:if(t&&(242===t.kind||243===t.kind))return t;if(246===t.kind)return t.parent;break;case 9:if(t&&(246===t.kind||247===t.kind))return t.parent;break;case 16:if(t&&248===t.kind&&t.parent&&246===t.parent.kind)return t.parent.parent;if(t&&247===t.kind)return t.parent;break}}}function isFunction(e){switch(e){case 179:case 180:case 220:case 147:case 146:case 149:case 150:case 151:case 152:case 153:return true}return false}function isSolelyIdentifierDefinitionLocation(e){var t=e.parent.kind;switch(e.kind){case 24:return 218===t||219===t||200===t||224===t||isFunction(t)||221===t||192===t||222===t||168===t||223===t;case 21:return 168===t;case 54:return 169===t;case 19:return 168===t;case 17:return 252===t||isFunction(t);case 15:return 224===t||222===t||159===t;case 23:return 144===t&&e.parent&&e.parent.parent&&(222===e.parent.parent.kind||159===e.parent.parent.kind);case 25:return 221===t||192===t||222===t||223===t||isFunction(t);case 113:return 145===t;case 22:return 142===t||e.parent&&e.parent.parent&&168===e.parent.parent.kind;case 112:case 110:case 111:return 142===t;case 116:return 234===t||238===t||232===t;case 73:case 81:case 107:case 87:case 102:case 123:case 131:case 89:case 108:case 74:case 114:case 134:return true}switch(e.getText()){case"abstract":case"async":case"class":case"const":case"declare":case"enum":case"function":case"interface":case"let":case"private":case"protected":case"public":case"static":case"var":case"yield":return true}return false}function isDotOfNumericLiteral(e){if(8===e.kind){var t=e.getFullText();return"."===t.charAt(t.length-1)}return false}function filterNamedImportOrExportCompletionItems(t,n){var a={};for(var i=0,o=n;ie.argumentIndex){var s=o.parameters[e.argumentIndex];addStringLiteralCompletionsFromType(t.getTypeAtLocation(s.valueDeclaration),n)}}if(n.length)return{isMemberCompletion:false,isNewIdentifierLocation:true,entries:n}}function getStringLiteralCompletionEntriesFromElementAccess(e){var t=c.getTypeChecker();var r=t.getTypeAtLocation(e.expression);var n=[];if(r){getCompletionEntriesFromSymbols(r.getApparentProperties(),n,e,false);if(n.length)return{isMemberCompletion:true,isNewIdentifierLocation:true,entries:n}}}function getStringLiteralCompletionEntriesFromContextualType(e){var t=c.getTypeChecker();var r=t.getContextualType(e);if(r){var n=[];addStringLiteralCompletionsFromType(r,n);if(n.length)return{isMemberCompletion:false,isNewIdentifierLocation:false,entries:n}}}function addStringLiteralCompletionsFromType(t,r){t&&(16384&t.flags?e.forEach(t.types,(function(e){return addStringLiteralCompletionsFromType(e,r)})):256&t.flags&&r.push({name:t.text,kindModifiers:T.none,kind:b.variableElement,sortText:"0"}))}}function getCompletionEntryDetails(t,r,n){synchronizeHostData();var a=getCompletionData(t,r);if(a){var i=a.symbols,o=a.location;var s=c.getCompilerOptions().target;var l=e.forEach(i,(function(e){return getCompletionEntryDisplayNameForSymbol(e,s,false,o)===n?e:void 0}));if(l){var u=getSymbolDisplayPartsDocumentationAndSymbolKind(l,getValidSourceFile(t),o,o,7),_=u.displayParts,d=u.documentation,p=u.symbolKind;return{name:n,kindModifiers:getSymbolModifiers(l),kind:p,displayParts:_,documentation:d}}}var m=e.forEach(O,(function(e){return e.name===n}));if(m)return{name:n,kind:b.keyword,kindModifiers:T.none,displayParts:[e.displayPart(n,f.keyword)],documentation:void 0}}function getSymbolKind(t,r){var n=t.getFlags();if(32&n)return e.getDeclarationOfKind(t,192)?b.localClassElement:b.classElement;if(384&n)return b.enumElement;if(524288&n)return b.typeElement;if(64&n)return b.interfaceElement;if(262144&n)return b.typeParameterElement;var a=getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,n,r);if(a===b.unknown){if(262144&n)return b.typeParameterElement;if(8&n)return b.variableElement;if(8388608&n)return b.alias;if(1536&n)return b.moduleElement}return a}function getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,r,n){var a=c.getTypeChecker();if(a.isUndefinedSymbol(t))return b.variableElement;if(a.isArgumentsSymbol(t))return b.localVariableElement;if(97===n.kind&&e.isExpression(n))return b.parameterElement;if(3&r)return e.isFirstDeclarationOfSymbolParameter(t)?b.parameterElement:t.valueDeclaration&&e.isConst(t.valueDeclaration)?b.constElement:e.forEach(t.declarations,e.isLet)?b.letElement:isLocalVariableOrFunction(t)?b.localVariableElement:b.variableElement;if(16&r)return isLocalVariableOrFunction(t)?b.localFunctionElement:b.functionElement;if(32768&r)return b.memberGetAccessorElement;if(65536&r)return b.memberSetAccessorElement;if(8192&r)return b.memberFunctionElement;if(16384&r)return b.constructorImplementationElement;if(4&r){if(268435456&r){var i=e.forEach(a.getRootSymbols(t),(function(t){var r=t.getFlags();if(r&(98308|3))return b.memberVariableElement;e.Debug.assert(!!(8192&r))}));if(!i){var o=a.getTypeOfSymbolAtLocation(t,n);return o.getCallSignatures().length?b.memberFunctionElement:b.memberVariableElement}return i}return b.memberVariableElement}return b.unknown}function getSymbolModifiers(t){return t&&t.declarations&&t.declarations.length>0?e.getNodeModifiers(t.declarations[0]):T.none}function getSymbolDisplayPartsDocumentationAndSymbolKind(t,r,n,a,i){void 0===i&&(i=getMeaningFromLocation(a));var o=c.getTypeChecker();var s=[];var l;var u=t.flags;var _=getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(t,u,a);var d;var p=97===a.kind&&e.isExpression(a);var m;if(_!==b.unknown||32&u||8388608&u){_!==b.memberGetAccessorElement&&_!==b.memberSetAccessorElement||(_=b.memberVariableElement);var g=void 0;m=p?o.getTypeAtLocation(a):o.getTypeOfSymbolAtLocation(t,a);if(m){if(a.parent&&172===a.parent.kind){var y=a.parent.name;(y===a||y&&0===y.getFullWidth())&&(a=a.parent)}var h=void 0;174===a.kind||175===a.kind?h=a:(isCallExpressionTarget(a)||isNewExpressionTarget(a))&&(h=a.parent);if(h){var v=[];g=o.getResolvedSignature(h,v);!g&&v.length&&(g=v[0]);var T=175===h.kind||95===h.expression.kind;var k=T?m.getConstructSignatures():m.getCallSignatures();e.contains(k,g.target)||e.contains(k,g)||(g=k.length?k[0]:void 0);if(g){if(T&&32&u){_=b.constructorImplementationElement;addPrefixForAnyFunctionOrVar(m.symbol,_)}else if(8388608&u){_=b.alias;pushTypePart(_);s.push(e.spacePart());if(T){s.push(e.keywordPart(92));s.push(e.spacePart())}addFullSymbolName(t)}else addPrefixForAnyFunctionOrVar(t,_);switch(_){case b.memberVariableElement:case b.variableElement:case b.constElement:case b.letElement:case b.parameterElement:case b.localVariableElement:s.push(e.punctuationPart(54));s.push(e.spacePart());if(T){s.push(e.keywordPart(92));s.push(e.spacePart())}65536&m.flags||!m.symbol||e.addRange(s,e.symbolToDisplayParts(o,m.symbol,n,void 0,1));addSignatureDisplayParts(g,k,8);break;default:addSignatureDisplayParts(g,k)}d=true}}else if(isNameOfFunctionDeclaration(a)&&!(98304&t.flags)||121===a.kind&&148===a.parent.kind){var S=a.parent;var k=148===S.kind?m.getNonNullableType().getConstructSignatures():m.getNonNullableType().getCallSignatures();g=o.isImplementationOfOverload(S)?k[0]:o.getSignatureFromDeclaration(S);if(148===S.kind){_=b.constructorImplementationElement;addPrefixForAnyFunctionOrVar(m.symbol,_)}else addPrefixForAnyFunctionOrVar(151!==S.kind||2048&m.symbol.flags||4096&m.symbol.flags?t:m.symbol,_);addSignatureDisplayParts(g,k);d=true}}}if(32&u&&!d&&!p){e.getDeclarationOfKind(t,192)?pushTypePart(b.localClassElement):s.push(e.keywordPart(73));s.push(e.spacePart());addFullSymbolName(t);writeTypeParametersOfSymbol(t,r)}if(64&u&&2&i){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(107));s.push(e.spacePart());addFullSymbolName(t);writeTypeParametersOfSymbol(t,r)}if(524288&u){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(134));s.push(e.spacePart());addFullSymbolName(t);writeTypeParametersOfSymbol(t,r);s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());e.addRange(s,e.typeToDisplayParts(o,o.getDeclaredTypeOfSymbol(t),n))}if(384&u){addNewLineIfDisplayPartsExist();if(e.forEach(t.declarations,e.isConstEnumDeclaration)){s.push(e.keywordPart(74));s.push(e.spacePart())}s.push(e.keywordPart(81));s.push(e.spacePart());addFullSymbolName(t)}if(1536&u){addNewLineIfDisplayPartsExist();var x=e.getDeclarationOfKind(t,225);var C=x&&x.name&&69===x.name.kind;s.push(e.keywordPart(C?126:125));s.push(e.spacePart());addFullSymbolName(t)}if(262144&u&&2&i){addNewLineIfDisplayPartsExist();s.push(e.punctuationPart(17));s.push(e.textPart("type parameter"));s.push(e.punctuationPart(18));s.push(e.spacePart());addFullSymbolName(t);s.push(e.spacePart());s.push(e.keywordPart(90));s.push(e.spacePart());if(t.parent){addFullSymbolName(t.parent,n);writeTypeParametersOfSymbol(t.parent,n)}else{var x=e.getDeclarationOfKind(t,141);e.Debug.assert(void 0!==x);x=x.parent;if(x)if(e.isFunctionLikeKind(x.kind)){var g=o.getSignatureFromDeclaration(x);if(152===x.kind){s.push(e.keywordPart(92));s.push(e.spacePart())}else 151!==x.kind&&x.name&&addFullSymbolName(x.symbol);e.addRange(s,e.signatureToDisplayParts(o,g,r,32))}else{s.push(e.keywordPart(134));s.push(e.spacePart());addFullSymbolName(x.symbol);writeTypeParametersOfSymbol(x.symbol,r)}}}if(8&u){addPrefixForAnyFunctionOrVar(t,"enum member");var x=t.declarations[0];if(255===x.kind){var D=o.getConstantValue(x);if(void 0!==D){s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());s.push(e.displayPart(D.toString(),f.numericLiteral))}}}if(8388608&u){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(89));s.push(e.spacePart());addFullSymbolName(t);e.forEach(t.declarations,(function(t){if(229===t.kind){var r=t;if(e.isExternalModuleImportEqualsDeclaration(r)){s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());s.push(e.keywordPart(129));s.push(e.punctuationPart(17));s.push(e.displayPart(e.getTextOfNode(e.getExternalModuleImportEqualsDeclarationExpression(r)),f.stringLiteral));s.push(e.punctuationPart(18))}else{var a=o.getSymbolAtLocation(r.moduleReference);if(a){s.push(e.spacePart());s.push(e.operatorPart(56));s.push(e.spacePart());addFullSymbolName(a,n)}}return true}}))}if(!d)if(_!==b.unknown){if(m){if(p){addNewLineIfDisplayPartsExist();s.push(e.keywordPart(97))}else addPrefixForAnyFunctionOrVar(t,_);if(_===b.memberVariableElement||3&u||_===b.localVariableElement||p){s.push(e.punctuationPart(54));s.push(e.spacePart());if(m.symbol&&262144&m.symbol.flags){var E=e.mapToDisplayParts((function(e){o.getSymbolDisplayBuilder().buildTypeParameterDisplay(m,e,n)}));e.addRange(s,E)}else e.addRange(s,e.typeToDisplayParts(o,m,n))}else if(16&u||8192&u||16384&u||131072&u||98304&u||_===b.memberFunctionElement){var k=m.getNonNullableType().getCallSignatures();addSignatureDisplayParts(k[0],k)}}}else _=getSymbolKind(t,a);l||(l=t.getDocumentationComment());return{displayParts:s,documentation:l,symbolKind:_};function addNewLineIfDisplayPartsExist(){s.length&&s.push(e.lineBreakPart())}function addFullSymbolName(t,n){var a=e.symbolToDisplayParts(o,t,n||r,void 0,1|2);e.addRange(s,a)}function addPrefixForAnyFunctionOrVar(t,r){addNewLineIfDisplayPartsExist();if(r){pushTypePart(r);s.push(e.spacePart());addFullSymbolName(t)}}function pushTypePart(t){switch(t){case b.variableElement:case b.functionElement:case b.letElement:case b.constElement:case b.constructorImplementationElement:s.push(e.textOrKeywordPart(t));return;default:s.push(e.punctuationPart(17));s.push(e.textOrKeywordPart(t));s.push(e.punctuationPart(18));return}}function addSignatureDisplayParts(t,r,a){e.addRange(s,e.signatureToDisplayParts(o,t,n,32|a));if(r.length>1){s.push(e.spacePart());s.push(e.punctuationPart(17));s.push(e.operatorPart(35));s.push(e.displayPart((r.length-1).toString(),f.numericLiteral));s.push(e.spacePart());s.push(e.textPart(2===r.length?"overload":"overloads"));s.push(e.punctuationPart(18))}l=t.getDocumentationComment()}function writeTypeParametersOfSymbol(t,r){var n=e.mapToDisplayParts((function(e){o.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(t,e,r)}));e.addRange(s,n)}}function getQuickInfoAtPosition(t,r){synchronizeHostData();var n=getValidSourceFile(t);var a=e.getTouchingPropertyName(n,r);if(a!==n&&!isLabelName(a)){var i=c.getTypeChecker();var o=i.getSymbolAtLocation(a);if(o&&!i.isUnknownSymbol(o)){var s=getSymbolDisplayPartsDocumentationAndSymbolKind(o,n,getContainerNode(a),a);return{kind:s.symbolKind,kindModifiers:getSymbolModifiers(o),textSpan:e.createTextSpan(a.getStart(),a.getWidth()),displayParts:s.displayParts,documentation:s.documentation}}switch(a.kind){case 69:case 172:case 139:case 97:case 165:case 95:var l=i.getTypeAtLocation(a);if(l)return{kind:b.unknown,kindModifiers:T.none,textSpan:e.createTextSpan(a.getStart(),a.getWidth()),displayParts:e.typeToDisplayParts(i,l,getContainerNode(a)),documentation:l.symbol?l.symbol.getDocumentationComment():void 0}}}}function createDefinitionInfo(t,r,n,a){return{fileName:t.getSourceFile().fileName,textSpan:e.createTextSpanFromBounds(t.getStart(),t.getEnd()),kind:r,name:n,containerKind:void 0,containerName:a}}function getDefinitionFromSymbol(t,r){var n=c.getTypeChecker();var a=[];var i=t.getDeclarations();var o=n.symbolToString(t);var s=getSymbolKind(t,r);var l=t.parent;var u=l?n.symbolToString(l,r):"";tryAddConstructSignature(t,r,s,o,u,a)||tryAddCallSignature(t,r,s,o,u,a)||e.forEach(i,(function(e){a.push(createDefinitionInfo(e,s,o,u))}));return a;function tryAddConstructSignature(t,r,n,a,i,o){if((isNewExpressionTarget(r)||121===r.kind)&&32&t.flags){for(var s=0,c=t.getDeclarations();s=0;a--)if(pushKeywordIf(r,n[a],104))break}var i=aggregateAllBreakAndContinueStatements(t.statement);e.forEach(i,(function(e){ownsBreakOrContinueStatement(t,e)&&pushKeywordIf(r,e.getFirstToken(),70,75)}));return e.map(r,getHighlightSpanForNode)}function getBreakOrContinueStatementOccurrences(e){var t=getBreakOrContinueOwner(e);if(t)switch(t.kind){case 206:case 207:case 208:case 204:case 205:return getLoopBreakContinueOccurrences(t);case 213:return getSwitchCaseDefaultOccurrences(t)}}function getSwitchCaseDefaultOccurrences(t){var r=[];pushKeywordIf(r,t.getFirstToken(),96);e.forEach(t.caseBlock.clauses,(function(n){pushKeywordIf(r,n.getFirstToken(),71,77);var a=aggregateAllBreakAndContinueStatements(n);e.forEach(a,(function(e){ownsBreakOrContinueStatement(t,e)&&pushKeywordIf(r,e.getFirstToken(),70)}))}));return e.map(r,getHighlightSpanForNode)}function getTryCatchFinallyOccurrences(t){var r=[];pushKeywordIf(r,t.getFirstToken(),100);t.catchClause&&pushKeywordIf(r,t.catchClause.getFirstToken(),72);if(t.finallyBlock){var n=e.findChildOfKind(t,85,i);pushKeywordIf(r,n,85)}return e.map(r,getHighlightSpanForNode)}function getThrowOccurrences(t){var r=getThrowStatementOwner(t);if(r){var n=[];e.forEach(aggregateOwnedThrowStatements(r),(function(e){pushKeywordIf(n,e.getFirstToken(),98)}));e.isFunctionBlock(r)&&e.forEachReturnStatement(r,(function(e){pushKeywordIf(n,e.getFirstToken(),94)}));return e.map(n,getHighlightSpanForNode)}}function getReturnOccurrences(t){var r=e.getContainingFunction(t);if(r&&hasKind(r.body,199)){var n=[];e.forEachReturnStatement(r.body,(function(e){pushKeywordIf(n,e.getFirstToken(),94)}));e.forEach(aggregateOwnedThrowStatements(r.body),(function(e){pushKeywordIf(n,e.getFirstToken(),98)}));return e.map(n,getHighlightSpanForNode)}}function getIfElseOccurrences(t){var n=[];while(hasKind(t.parent,203)&&t.parent.elseStatement===t)t=t.parent;while(t){var a=t.getChildren();pushKeywordIf(n,a[0],88);for(var o=a.length-1;o>=0;o--)if(pushKeywordIf(n,a[o],80))break;if(!hasKind(t.elseStatement,203))break;t=t.elseStatement}var s=[];for(var o=0;o=c.end;_--)if(!e.isWhiteSpaceSingleLine(i.text.charCodeAt(_))){u=false;break}if(u){s.push({fileName:r,textSpan:e.createTextSpanFromBounds(c.getStart(),l.end),kind:m.reference});o++;continue}}s.push(getHighlightSpanForNode(n[o]))}return s}}}function getOccurrencesAtPositionCore(e,t){synchronizeHostData();return convertDocumentHighlights(getDocumentHighlights(e,t,[e]));function convertDocumentHighlights(e){if(e){var t=[];for(var r=0,n=e;r=0){_.throwIfCancellationRequested();if(l>a)break;var u=l+c;0!==l&&e.isIdentifierPart(o.charCodeAt(l-1),2)||u!==s&&e.isIdentifierPart(o.charCodeAt(u),2)||i.push(l);l=o.indexOf(r,l+c+1)}return i}function getLabelReferencesInNode(t,r){var n=[];var a=t.getSourceFile();var i=r.text;var o=getPossibleSymbolReferencePositions(a,i,t.getStart(),t.getEnd());e.forEach(o,(function(t){_.throwIfCancellationRequested();var o=e.getTouchingWord(a,t);o&&o.getWidth()===i.length&&(o===r||isJumpStatementTarget(o)&&getTargetLabel(o,i)===r)&&n.push(getReferenceEntryFromNode(o))}));var s={containerKind:"",containerName:"",fileName:r.getSourceFile().fileName,kind:b.label,name:i,textSpan:e.createTextSpanFromBounds(r.getStart(),r.getEnd())};return[{definition:s,references:n}]}function isValidReferencePosition(e,t){if(e)switch(e.kind){case 69:return e.getWidth()===t.length;case 9:if(isLiteralNameOfPropertyDeclarationOrIndexAccess(e)||isNameOfExternalModuleImportOrDeclaration(e))return e.getWidth()===t.length+2;break;case 8:if(isLiteralNameOfPropertyDeclarationOrIndexAccess(e))return e.getWidth()===t.length;break}return false}function getReferencesInNode(t,r,n,a,o,s,c,l,u){var d=t.getSourceFile();var p=/^\/\/\/\s*=0){var g=getReferencedSymbol(p);g.references.push(getReferenceEntryFromNode(u.name))}}}}else(s&&e.isInString(d,t)||c&&isInNonReferenceComment(d,t))&&l.push({definition:void 0,references:[{fileName:d.fileName,textSpan:e.createTextSpan(t,n.length),isWriteAccess:false,isDefinition:false}]})}))}return;function getReferencedSymbol(t){var r=e.getSymbolId(t);var n=u[r];if(void 0===n){n=l.length;u[r]=n;l.push({definition:getDefinition(t),references:[]})}return l[n]}function isInNonReferenceComment(t,r){return e.isInCommentHelper(t,r,isNonReferenceComment);function isNonReferenceComment(e){var r=t.text.substring(e.pos,e.end);return!p.test(r)}}}function getReferencesForSuperKeyword(t){var r=e.getSuperContainer(t,false);if(r){var n=32;switch(r.kind){case 145:case 144:case 147:case 146:case 148:case 149:case 150:n&=r.flags;r=r.parent;break;default:return}var a=[];var i=r.getSourceFile();var o=getPossibleSymbolReferencePositions(i,"super",r.getStart(),r.getEnd());e.forEach(o,(function(t){_.throwIfCancellationRequested();var o=e.getTouchingWord(i,t);if(o&&95===o.kind){var s=e.getSuperContainer(o,false);s&&(32&s.flags)===n&&s.parent.symbol===r.symbol&&a.push(getReferenceEntryFromNode(o))}}));var s=getDefinition(r.symbol);return[{definition:s,references:a}]}}function getReferencesForThisKeyword(r,n){var a=e.getThisContainer(r,false);var i=32;switch(a.kind){case 147:case 146:if(e.isObjectLiteralMethod(a))break;case 145:case 144:case 148:case 149:case 150:i&=a.flags;a=a.parent;break;case 256:if(e.isExternalModule(a))return;case 220:case 179:break;default:return}var o=[];var s;if(256===a.kind)e.forEach(n,(function(e){s=getPossibleSymbolReferencePositions(e,"this",e.getStart(),e.getEnd());getThisReferencesInFile(e,e,s,o)}));else{var c=a.getSourceFile();s=getPossibleSymbolReferencePositions(c,"this",a.getStart(),a.getEnd());getThisReferencesInFile(c,a,s,o)}return[{definition:{containerKind:"",containerName:"",fileName:t.getSourceFile().fileName,kind:b.variableElement,name:"this",textSpan:e.createTextSpanFromBounds(t.getStart(),t.getEnd())},references:o}];function getThisReferencesInFile(t,r,n,a){e.forEach(n,(function(n){_.throwIfCancellationRequested();var o=e.getTouchingWord(t,n);if(o&&isThis(o)){var s=e.getThisContainer(o,false);switch(r.kind){case 179:case 220:r.symbol===s.symbol&&a.push(getReferenceEntryFromNode(o));break;case 147:case 146:e.isObjectLiteralMethod(r)&&r.symbol===s.symbol&&a.push(getReferenceEntryFromNode(o));break;case 192:case 221:s.parent&&r.symbol===s.parent.symbol&&(32&s.flags)===i&&a.push(getReferenceEntryFromNode(o));break;case 256:256!==s.kind||e.isExternalModule(s)||a.push(getReferenceEntryFromNode(o));break}}}))}}function getReferencesForStringLiteral(t,r){var n=c.getTypeChecker();var a=getStringLiteralTypeForNode(t,n);if(a){var i=[];for(var o=0,s=r;o=0)return r;var a=getAliasSymbolForPropertyNameSymbol(r,n);if(a)return getRelatedSymbol(t,a,n);var o=getContainingObjectLiteralElement(n);if(o){var s=e.forEach(getPropertySymbolsFromContextualType(o),(function(r){return e.forEach(i.getRootSymbols(r),(function(e){return t.indexOf(e)>=0?e:void 0}))}));if(s)return s;var c=getPropertySymbolOfDestructuringAssignment(n);if(c&&t.indexOf(c)>=0)return c}var l=getPropertySymbolOfObjectBindingPatternWithoutPropertyName(r);return l&&t.indexOf(l)>=0?l:e.forEach(i.getRootSymbols(r),(function(r){if(t.indexOf(r)>=0)return r;if(r.parent&&r.parent.flags&(32|64)){var n=[];getPropertySymbolsFromBaseTypes(r.parent,r.getName(),n,{});return e.forEach(n,(function(e){return t.indexOf(e)>=0?e:void 0}))}}))}function getNameFromObjectLiteralElement(t){if(140===t.name.kind){var r=t.name.expression;return e.isStringOrNumericLiteral(r.kind)?r.text:void 0}return t.name.text}function getPropertySymbolsFromContextualType(t){var r=t.parent;var n=i.getContextualType(r);var a=getNameFromObjectLiteralElement(t);if(a&&n){var o=[];var s=n.getProperty(a);s&&o.push(s);16384&n.flags&&e.forEach(n.types,(function(e){var t=e.getProperty(a);t&&o.push(t)}));return o}}function getIntersectingMeaningFromDeclarations(e,t){if(t){var r=void 0;do{r=e;for(var n=0,a=t;n=0);if(a>0){var i=r||classifyTokenType(t.kind,t);i&&pushClassification(n,a,i)}return true}function tryClassifyJsxElementName(e){switch(e.parent&&e.parent.kind){case 243:if(e.parent.tagName===e)return 19;break;case 245:if(e.parent.tagName===e)return 20;break;case 242:if(e.parent.tagName===e)return 21;break;case 246:if(e.parent.name===e)return 22;break}}function classifyTokenType(t,r){if(e.isKeyword(t))return 3;if((25===t||27===t)&&r&&e.getTypeArgumentOrTypeParameterList(r.parent))return 10;if(e.isPunctuation(t)){if(r){if(56===t&&(218===r.parent.kind||145===r.parent.kind||142===r.parent.kind||246===r.parent.kind))return 5;if(187===r.parent.kind||185===r.parent.kind||186===r.parent.kind||188===r.parent.kind)return 5}return 10}if(8===t)return 4;if(9===t||166===t)return 246===r.parent.kind?24:6;if(10===t)return 6;if(e.isTemplateLiteralKind(t))return 6;if(244===t)return 23;if(69===t){if(r)switch(r.parent.kind){case 221:return r.parent.name===r?11:void 0;case 141:return r.parent.name===r?15:void 0;case 222:return r.parent.name===r?13:void 0;case 224:return r.parent.name===r?12:void 0;case 225:return r.parent.name===r?14:void 0;case 142:if(r.parent.name===r){var n=69===r.kind&&97===r.originalKeywordKind;return n?3:17}return}return 2}}function processElement(t){if(t&&e.decodedTextSpanIntersectsWith(a,o,t.pos,t.getFullWidth())){checkForClassificationCancellation(t.kind);var r=t.getChildren(n);for(var i=0,s=r.length;i0){var o=getTodoCommentsRegExp();var s=void 0;while(s=o.exec(a)){_.throwIfCancellationRequested();var c=3;e.Debug.assert(s.length===r.length+c);var l=s[1];var u=s.index+l.length;var d=e.getTokenAtPosition(n,u);if(isInsideComment(n,d,u)){var p=void 0;for(var m=0,g=r.length;m=97&&e<=122||e>=65&&e<=90||e>=48&&e<=57}}function getStringLiteralTypeForNode(e,t){var r=166===e.parent.kind?e.parent:e;var n=t.getTypeAtLocation(r);if(n&&256&n.flags)return n}function getRenameInfo(r,n){synchronizeHostData();var a=getValidSourceFile(r);var i=c.getTypeChecker();var o=t.getDefaultLibFileName(t.getCompilationSettings());var s=p(e.normalizePath(o));var l=e.getTouchingWord(a,n,true);if(l&&(69===l.kind||9===l.kind||isLiteralNameOfPropertyDeclarationOrIndexAccess(l)||isThis(l))){var u=i.getSymbolAtLocation(l);if(u){var _=u.getDeclarations();if(_&&_.length>0){if(e.forEach(_,isDefinedInLibraryFile))return getRenameInfoError(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library));var d=e.stripQuotes(e.getDeclaredName(i,u,l));var m=getSymbolKind(u,l);if(m)return{canRename:true,kind:m,displayName:d,localizedErrorMessage:void 0,fullDisplayName:i.getFullyQualifiedName(u),kindModifiers:getSymbolModifiers(u),triggerSpan:createTriggerSpanForNode(l,a)}}}else if(9===l.kind){var g=getStringLiteralTypeForNode(l,i);if(g){if(isDefinedInLibraryFile(l))return getRenameInfoError(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library));var d=e.stripQuotes(g.text);return{canRename:true,kind:b.variableElement,displayName:d,localizedErrorMessage:void 0,fullDisplayName:d,kindModifiers:T.none,triggerSpan:createTriggerSpanForNode(l,a)}}}}return getRenameInfoError(e.getLocaleSpecificMessage(e.Diagnostics.You_cannot_rename_this_element));function getRenameInfoError(e){return{canRename:false,localizedErrorMessage:e,displayName:void 0,fullDisplayName:void 0,kind:void 0,kindModifiers:void 0,triggerSpan:void 0}}function isDefinedInLibraryFile(t){if(o){var r=t.getSourceFile();var n=p(e.normalizePath(r.fileName));if(n===s)return true}return false}function createTriggerSpanForNode(t,r){var n=t.getStart(r);var a=t.getWidth(r);if(9===t.kind){n+=1;a-=2}return e.createTextSpan(n,a)}}return{dispose:dispose,cleanupSemanticCache:cleanupSemanticCache,getSyntacticDiagnostics:getSyntacticDiagnostics,getSemanticDiagnostics:getSemanticDiagnostics,getCompilerOptionsDiagnostics:getCompilerOptionsDiagnostics,getSyntacticClassifications:getSyntacticClassifications,getSemanticClassifications:getSemanticClassifications,getEncodedSyntacticClassifications:getEncodedSyntacticClassifications,getEncodedSemanticClassifications:getEncodedSemanticClassifications,getCompletionsAtPosition:getCompletionsAtPosition,getCompletionEntryDetails:getCompletionEntryDetails,getSignatureHelpItems:getSignatureHelpItems,getQuickInfoAtPosition:getQuickInfoAtPosition,getDefinitionAtPosition:getDefinitionAtPosition,getTypeDefinitionAtPosition:getTypeDefinitionAtPosition,getReferencesAtPosition:getReferencesAtPosition,findReferences:findReferences,getOccurrencesAtPosition:getOccurrencesAtPosition,getDocumentHighlights:getDocumentHighlights,getNameOrDottedNameSpan:getNameOrDottedNameSpan,getBreakpointStatementAtPosition:getBreakpointStatementAtPosition,getNavigateToItems:getNavigateToItems,getRenameInfo:getRenameInfo,findRenameLocations:findRenameLocations,getNavigationBarItems:getNavigationBarItems,getOutliningSpans:getOutliningSpans,getTodoComments:getTodoComments,getBraceMatchingAtPosition:getBraceMatchingAtPosition,getIndentationAtPosition:getIndentationAtPosition,getFormattingEditsForRange:getFormattingEditsForRange,getFormattingEditsForDocument:getFormattingEditsForDocument,getFormattingEditsAfterKeystroke:getFormattingEditsAfterKeystroke,getDocCommentTemplateAtPosition:getDocCommentTemplateAtPosition,isValidBraceCompletionAtPosition:isValidBraceCompletionAtPosition,getEmitOutput:getEmitOutput,getNonBoundSourceFile:getNonBoundSourceFile,getProgram:getProgram}}e.createLanguageService=createLanguageService;function getNameTable(e){e.nameTable||initializeNameTable(e);return e.nameTable}e.getNameTable=getNameTable;function initializeNameTable(t){var r={};walk(t);t.nameTable=r;function walk(t){switch(t.kind){case 69:r[t.text]=void 0===r[t.text]?t.pos:-1;break;case 9:case 8:(e.isDeclarationName(t)||240===t.parent.kind||isArgumentOfElementAccessExpression(t)||e.isLiteralComputedPropertyDeclarationName(t))&&(r[t.text]=void 0===r[t.text]?t.pos:-1);break;default:e.forEachChild(t,walk);if(t.jsDocComments)for(var n=0,a=t.jsDocComments;n=0){var u=s-a;u>0&&r.push({length:u,classification:v.Whitespace})}r.push({length:c,classification:convertClassification(l)});a=s+c}var _=t.length-a;_>0&&r.push({length:_,classification:v.Whitespace});return{entries:r,finalLexState:e.endOfLineState}}function convertClassification(e){switch(e){case 1:return v.Comment;case 3:return v.Keyword;case 4:return v.NumberLiteral;case 5:return v.Operator;case 6:return v.StringLiteral;case 8:return v.Whitespace;case 10:return v.Punctuation;case 2:case 11:case 12:case 13:case 14:case 15:case 16:case 9:case 17:default:return v.Identifier}}function getClassificationsForLine(e,t,r){return convertClassifications(getEncodedLexicalClassifications(e,t,r),e)}function getEncodedLexicalClassifications(a,i,o){var s=0;var c=0;var l=0;while(n.length>0)n.pop();switch(i){case 3:a='"\\\n'+a;s=3;break;case 2:a="'\\\n"+a;s=3;break;case 1:a="/*\n"+a;s=3;break;case 4:a="`\n"+a;s=2;break;case 5:a="}\n"+a;s=2;case 6:n.push(12);break}t.setText(a);var u={endOfLineState:0,spans:[]};var _=0;do{c=t.scan();if(!e.isTrivia(c)){if(39!==c&&61!==c||r[l]){if(21===l&&isKeyword(c))c=69;else if(isKeyword(l)&&isKeyword(c)&&!canFollow(l,c))c=69;else if(69===l&&25===c)_++;else if(27===c&&_>0)_--;else if(117===c||132===c||130===c||120===c||133===c)_>0&&!o&&(c=69);else if(12===c)n.push(c);else if(15===c)n.length>0&&n.push(c);else if(16===c&&n.length>0){var d=e.lastOrUndefined(n);if(12===d){c=t.reScanTemplateToken();14===c?n.pop():e.Debug.assert(13===c,"Should have been a template middle. Was "+c)}else{e.Debug.assert(15===d,"Should have been an open brace. Was: "+c);n.pop()}}}else 10===t.reScanSlashToken()&&(c=10);l=c}processToken()}while(1!==c);return u;function processToken(){var r=t.getTokenPos();var i=t.getTextPos();addResult(r,i,classFromKind(c));if(i>=a.length)if(9===c||166===c){var o=t.getTokenText();if(t.isUnterminated()){var s=o.length-1;var l=0;while(92===o.charCodeAt(s-l))l++;if(1&l){var _=o.charCodeAt(0);u.endOfLineState=34===_?3:2}}}else 3===c?t.isUnterminated()&&(u.endOfLineState=1):e.isTemplateLiteralKind(c)?t.isUnterminated()&&(14===c?u.endOfLineState=5:11===c?u.endOfLineState=4:e.Debug.fail("Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #"+c)):n.length>0&&12===e.lastOrUndefined(n)&&(u.endOfLineState=6)}function addResult(e,t,r){if(8!==r){0===e&&s>0&&(e+=s);e-=s;t-=s;var n=t-e;if(n>0){u.spans.push(e);u.spans.push(n);u.spans.push(r)}}}}function isBinaryExpressionOperatorToken(e){switch(e){case 37:case 39:case 40:case 35:case 36:case 43:case 44:case 45:case 25:case 27:case 28:case 29:case 91:case 90:case 116:case 30:case 31:case 32:case 33:case 46:case 48:case 47:case 51:case 52:case 67:case 66:case 68:case 63:case 64:case 65:case 57:case 58:case 59:case 61:case 62:case 56:case 24:return true;default:return false}}function isPrefixUnaryExpressionOperatorToken(e){switch(e){case 35:case 36:case 50:case 49:case 41:case 42:return true;default:return false}}function isKeyword(e){return e>=70&&e<=138}function classFromKind(t){if(isKeyword(t))return 3;if(isBinaryExpressionOperatorToken(t)||isPrefixUnaryExpressionOperatorToken(t))return 5;if(t>=15&&t<=68)return 10;switch(t){case 8:return 4;case 9:case 166:return 6;case 10:return 7;case 7:case 3:case 2:return 1;case 5:case 4:return 8;case 69:default:return e.isTemplateLiteralKind(t)?6:2}}return{getClassificationsForLine:getClassificationsForLine,getEncodedLexicalClassifications:getEncodedLexicalClassifications}}e.createClassifier=createClassifier;function getDefaultLibFilePath(t){if("undefined"!==typeof new URL(import.meta.url.slice(0,import.meta.url.lastIndexOf("/"))).pathname)return new URL(import.meta.url.slice(0,import.meta.url.lastIndexOf("/"))).pathname+e.directorySeparator+e.getDefaultLibFileName(t);throw new Error("getDefaultLibFilePath is only supported when consumed as a node module. ")}e.getDefaultLibFilePath=getDefaultLibFilePath;function initializeServices(){e.objectAllocator={getNodeConstructor:function(){return s},getSourceFileConstructor:function(){return d},getSymbolConstructor:function(){return l},getTypeConstructor:function(){return u},getSignatureConstructor:function(){return _}}}initializeServices()})(l||(l={}));var l;(function(e){var t;(function(t){function spanInSourceFileAtLocation(t,r){if(!t.isDeclarationFile){var n=e.getTokenAtPosition(t,r);var a=t.getLineAndCharacterOfPosition(r).line;if(t.getLineAndCharacterOfPosition(n.getStart(t)).line>a){n=e.findPrecedingToken(n.pos,t);if(!n||t.getLineAndCharacterOfPosition(n.getEnd()).line!==a)return}if(!e.isInAmbientContext(n))return spanInNode(n)}function textSpan(r,n){var a=r.decorators?e.skipTrivia(t.text,r.decorators.end):r.getStart(t);return e.createTextSpanFromBounds(a,(n||r).getEnd())}function textSpanEndingAtNextToken(t,r){return textSpan(t,e.findNextToken(r,r.parent))}function spanInNodeIfStartsOnSameLine(e,r){return e&&a===t.getLineAndCharacterOfPosition(e.getStart(t)).line?spanInNode(e):spanInNode(r)}function spanInNodeArray(r){return e.createTextSpanFromBounds(e.skipTrivia(t.text,r.pos),r.end)}function spanInPreviousNode(r){return spanInNode(e.findPrecedingToken(r.pos,t))}function spanInNextNode(t){return spanInNode(e.findNextToken(t,t.parent))}function spanInNode(r){if(r)switch(r.kind){case 200:return spanInVariableDeclaration(r.declarationList.declarations[0]);case 218:case 145:case 144:return spanInVariableDeclaration(r);case 142:return spanInParameterDeclaration(r);case 220:case 147:case 146:case 149:case 150:case 148:case 179:case 180:return spanInFunctionDeclaration(r);case 199:if(e.isFunctionBlock(r))return spanInFunctionBlock(r);case 226:return spanInBlock(r);case 252:return spanInBlock(r.block);case 202:return textSpan(r.expression);case 211:return textSpan(r.getChildAt(0),r.expression);case 205:return textSpanEndingAtNextToken(r,r.expression);case 204:return spanInNode(r.statement);case 217:return textSpan(r.getChildAt(0));case 203:return textSpanEndingAtNextToken(r,r.expression);case 214:return spanInNode(r.statement);case 210:case 209:return textSpan(r.getChildAt(0),r.label);case 206:return spanInForStatement(r);case 207:return textSpanEndingAtNextToken(r,r.expression);case 208:return spanInInitializerOfForLike(r);case 213:return textSpanEndingAtNextToken(r,r.expression);case 249:case 250:return spanInNode(r.statements[0]);case 216:return spanInBlock(r.tryBlock);case 215:return textSpan(r,r.expression);case 235:return textSpan(r,r.expression);case 229:return textSpan(r,r.moduleReference);case 230:return textSpan(r,r.moduleSpecifier);case 236:return textSpan(r,r.moduleSpecifier);case 225:if(1!==e.getModuleInstanceState(r))return;case 221:case 224:case 255:case 169:return textSpan(r);case 212:return spanInNode(r.statement);case 143:return spanInNodeArray(r.parent.decorators);case 167:case 168:return spanInBindingPattern(r);case 222:case 223:return;case 23:case 1:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t));case 24:return spanInPreviousNode(r);case 15:return spanInOpenBraceToken(r);case 16:return spanInCloseBraceToken(r);case 20:return spanInCloseBracketToken(r);case 17:return spanInOpenParenToken(r);case 18:return spanInCloseParenToken(r);case 54:return spanInColonToken(r);case 27:case 25:return spanInGreaterThanOrLessThanToken(r);case 104:return spanInWhileKeyword(r);case 80:case 72:case 85:return spanInNextNode(r);case 138:return spanInOfKeyword(r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return spanInArrayLiteralOrObjectLiteralDestructuringPattern(r);if((69===r.kind||191==r.kind||253===r.kind||254===r.kind)&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent))return textSpan(r);if(187===r.kind){var n=r;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.left))return spanInArrayLiteralOrObjectLiteralDestructuringPattern(n.left);if(56===n.operatorToken.kind&&e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.parent))return textSpan(r);if(24===n.operatorToken.kind)return spanInNode(n.left)}if(e.isExpression(r))switch(r.parent.kind){case 204:return spanInPreviousNode(r);case 143:return spanInNode(r.parent);case 206:case 208:return textSpan(r);case 187:if(24===r.parent.operatorToken.kind)return textSpan(r);break;case 180:if(r.parent.body===r)return textSpan(r);break}if(253===r.parent.kind&&r.parent.name===r&&!e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent.parent))return spanInNode(r.parent.initializer);if(177===r.parent.kind&&r.parent.type===r)return spanInNextNode(r.parent.type);if(e.isFunctionLike(r.parent)&&r.parent.type===r)return spanInPreviousNode(r);if(218===r.parent.kind||142===r.parent.kind){var a=r.parent;if(a.initializer===r||a.type===r||e.isAssignmentOperator(r.kind))return spanInPreviousNode(r)}if(187===r.parent.kind){var n=r.parent;if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(n.left)&&(n.right===r||n.operatorToken===r))return spanInPreviousNode(r)}return spanInNode(r.parent)}function textSpanFromVariableDeclaration(r){var n=r.parent.declarations;return n&&n[0]===r?textSpan(e.findPrecedingToken(r.pos,t,r.parent),r):textSpan(r)}function spanInVariableDeclaration(r){if(207===r.parent.parent.kind)return spanInNode(r.parent.parent);if(e.isBindingPattern(r.name))return spanInBindingPattern(r.name);if(r.initializer||1&r.flags||208===r.parent.parent.kind)return textSpanFromVariableDeclaration(r);var n=r.parent.declarations;return n&&n[0]!==r?spanInNode(e.findPrecedingToken(r.pos,t,r.parent)):void 0}function canHaveSpanInParameterDeclaration(e){return!!e.initializer||void 0!==e.dotDotDotToken||!!(4&e.flags)||!!(8&e.flags)}function spanInParameterDeclaration(t){if(e.isBindingPattern(t.name))return spanInBindingPattern(t.name);if(canHaveSpanInParameterDeclaration(t))return textSpan(t);var r=t.parent;var n=e.indexOf(r.parameters,t);return n?spanInParameterDeclaration(r.parameters[n-1]):spanInNode(r.body)}function canFunctionHaveSpanInWholeDeclaration(e){return!!(1&e.flags)||221===e.parent.kind&&148!==e.kind}function spanInFunctionDeclaration(e){if(e.body)return canFunctionHaveSpanInWholeDeclaration(e)?textSpan(e):spanInNode(e.body)}function spanInFunctionBlock(e){var t=e.statements.length?e.statements[0]:e.getLastToken();return canFunctionHaveSpanInWholeDeclaration(e.parent)?spanInNodeIfStartsOnSameLine(e.parent,t):spanInNode(t)}function spanInBlock(r){switch(r.parent.kind){case 225:if(1!==e.getModuleInstanceState(r.parent))return;case 205:case 203:case 207:return spanInNodeIfStartsOnSameLine(r.parent,r.statements[0]);case 206:case 208:return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),r.statements[0])}return spanInNode(r.statements[0])}function spanInInitializerOfForLike(e){if(219!==e.initializer.kind)return spanInNode(e.initializer);var t=e.initializer;return t.declarations.length>0?spanInNode(t.declarations[0]):void 0}function spanInForStatement(e){return e.initializer?spanInInitializerOfForLike(e):e.condition?textSpan(e.condition):e.incrementor?textSpan(e.incrementor):void 0}function spanInBindingPattern(t){var r=e.forEach(t.elements,(function(e){return 193!==e.kind?e:void 0}));return r?spanInNode(r):169===t.parent.kind?textSpan(t.parent):textSpanFromVariableDeclaration(t.parent)}function spanInArrayLiteralOrObjectLiteralDestructuringPattern(t){e.Debug.assert(168!==t.kind&&167!==t.kind);var r=170===t.kind?t.elements:t.properties;var n=e.forEach(r,(function(e){return 193!==e.kind?e:void 0}));return n?spanInNode(n):textSpan(187===t.parent.kind?t.parent:t)}function spanInOpenBraceToken(r){switch(r.parent.kind){case 224:var n=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),n.members.length?n.members[0]:n.getLastToken(t));case 221:var a=r.parent;return spanInNodeIfStartsOnSameLine(e.findPrecedingToken(r.pos,t,r.parent),a.members.length?a.members[0]:a.getLastToken(t));case 227:return spanInNodeIfStartsOnSameLine(r.parent.parent,r.parent.clauses[0])}return spanInNode(r.parent)}function spanInCloseBraceToken(t){switch(t.parent.kind){case 226:if(1!==e.getModuleInstanceState(t.parent.parent))return;case 224:case 221:return textSpan(t);case 199:if(e.isFunctionBlock(t.parent))return textSpan(t);case 252:return spanInNode(e.lastOrUndefined(t.parent.statements));case 227:var r=t.parent;var n=e.lastOrUndefined(r.clauses);return n?spanInNode(e.lastOrUndefined(n.statements)):void 0;case 167:var a=t.parent;return spanInNode(e.lastOrUndefined(a.elements)||a);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var i=t.parent;return textSpan(e.lastOrUndefined(i.properties)||i)}return spanInNode(t.parent)}}function spanInCloseBracketToken(t){switch(t.parent.kind){case 168:var r=t.parent;return textSpan(e.lastOrUndefined(r.elements)||r);default:if(e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)){var n=t.parent;return textSpan(e.lastOrUndefined(n.elements)||n)}return spanInNode(t.parent)}}function spanInOpenParenToken(e){return 204===e.parent.kind||174===e.parent.kind||175===e.parent.kind?spanInPreviousNode(e):178===e.parent.kind?spanInNextNode(e):spanInNode(e.parent)}function spanInCloseParenToken(e){switch(e.parent.kind){case 179:case 220:case 180:case 147:case 146:case 149:case 150:case 148:case 205:case 204:case 206:case 208:case 174:case 175:case 178:return spanInPreviousNode(e);default:return spanInNode(e.parent)}}function spanInColonToken(t){return e.isFunctionLike(t.parent)||253===t.parent.kind||142===t.parent.kind?spanInPreviousNode(t):spanInNode(t.parent)}function spanInGreaterThanOrLessThanToken(e){return 177===e.parent.kind?spanInNextNode(e):spanInNode(e.parent)}function spanInWhileKeyword(e){return 204===e.parent.kind?textSpanEndingAtNextToken(e,e.parent.expression):spanInNode(e.parent)}function spanInOfKeyword(e){return 208===e.parent.kind?spanInNextNode(e):spanInNode(e.parent)}}}t.spanInSourceFileAtLocation=spanInSourceFileAtLocation})(t=e.BreakpointResolver||(e.BreakpointResolver={}))})(l||(l={}));var u=o;var l;(function(e){function logInternalError(e,t){e&&e.log("*INTERNAL ERROR* - Exception in typescript services: "+t.message)}var t=function(){function ScriptSnapshotShimAdapter(e){(this||i).scriptSnapshotShim=e}ScriptSnapshotShimAdapter.prototype.getText=function(e,t){return(this||i).scriptSnapshotShim.getText(e,t)};ScriptSnapshotShimAdapter.prototype.getLength=function(){return(this||i).scriptSnapshotShim.getLength()};ScriptSnapshotShimAdapter.prototype.getChangeRange=function(t){var r=t;var n=(this||i).scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim);if(null==n)return null;var a=JSON.parse(n);return e.createTextChangeRange(e.createTextSpan(a.span.start,a.span.length),a.newLength)};ScriptSnapshotShimAdapter.prototype.dispose=function(){"dispose"in(this||i).scriptSnapshotShim&&(this||i).scriptSnapshotShim.dispose()};return ScriptSnapshotShimAdapter}();var r=function(){function LanguageServiceShimHostAdapter(t){var r=this||i;(this||i).shimHost=t;(this||i).loggingEnabled=false;(this||i).tracingEnabled=false;"getModuleResolutionsForFile"in(this||i).shimHost&&((this||i).resolveModuleNames=function(t,n){var a=JSON.parse(r.shimHost.getModuleResolutionsForFile(n));return e.map(t,(function(t){var r=e.lookUp(a,t);return r?{resolvedFileName:r}:void 0}))});"directoryExists"in(this||i).shimHost&&((this||i).directoryExists=function(e){return r.shimHost.directoryExists(e)});"getTypeReferenceDirectiveResolutionsForFile"in(this||i).shimHost&&((this||i).resolveTypeReferenceDirectives=function(t,n){var a=JSON.parse(r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n));return e.map(t,(function(t){return e.lookUp(a,t)}))})}LanguageServiceShimHostAdapter.prototype.log=function(e){(this||i).loggingEnabled&&(this||i).shimHost.log(e)};LanguageServiceShimHostAdapter.prototype.trace=function(e){(this||i).tracingEnabled&&(this||i).shimHost.trace(e)};LanguageServiceShimHostAdapter.prototype.error=function(e){(this||i).shimHost.error(e)};LanguageServiceShimHostAdapter.prototype.getProjectVersion=function(){if((this||i).shimHost.getProjectVersion)return(this||i).shimHost.getProjectVersion()};LanguageServiceShimHostAdapter.prototype.useCaseSensitiveFileNames=function(){return!!(this||i).shimHost.useCaseSensitiveFileNames&&(this||i).shimHost.useCaseSensitiveFileNames()};LanguageServiceShimHostAdapter.prototype.getCompilationSettings=function(){var e=(this||i).shimHost.getCompilationSettings();if(null==e||""==e)throw Error("LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings");return JSON.parse(e)};LanguageServiceShimHostAdapter.prototype.getScriptFileNames=function(){var e=(this||i).shimHost.getScriptFileNames();return(this||i).files=JSON.parse(e)};LanguageServiceShimHostAdapter.prototype.getScriptSnapshot=function(e){var r=(this||i).shimHost.getScriptSnapshot(e);return r&&new t(r)};LanguageServiceShimHostAdapter.prototype.getScriptKind=function(e){return"getScriptKind"in(this||i).shimHost?(this||i).shimHost.getScriptKind(e):0};LanguageServiceShimHostAdapter.prototype.getScriptVersion=function(e){return(this||i).shimHost.getScriptVersion(e)};LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages=function(){var e=(this||i).shimHost.getLocalizedDiagnosticMessages();if(null==e||""==e)return null;try{return JSON.parse(e)}catch(e){this.log(e.description||"diagnosticMessages.generated.json has invalid JSON format");return null}};LanguageServiceShimHostAdapter.prototype.getCancellationToken=function(){var e=(this||i).shimHost.getCancellationToken();return new n(e)};LanguageServiceShimHostAdapter.prototype.getCurrentDirectory=function(){return(this||i).shimHost.getCurrentDirectory()};LanguageServiceShimHostAdapter.prototype.getDirectories=function(e){return JSON.parse((this||i).shimHost.getDirectories(e))};LanguageServiceShimHostAdapter.prototype.getDefaultLibFileName=function(e){return(this||i).shimHost.getDefaultLibFileName(JSON.stringify(e))};return LanguageServiceShimHostAdapter}();e.LanguageServiceShimHostAdapter=r;var n=function(){function ThrottledCancellationToken(e){(this||i).hostCancellationToken=e;(this||i).lastCancellationCheckTime=0}ThrottledCancellationToken.prototype.isCancellationRequested=function(){var e=Date.now();var t=Math.abs(e-(this||i).lastCancellationCheckTime);if(t>10){(this||i).lastCancellationCheckTime=e;return(this||i).hostCancellationToken.isCancellationRequested()}return false};return ThrottledCancellationToken}();var a=function(){function CoreServicesShimHostAdapter(e){var t=this||i;(this||i).shimHost=e;(this||i).useCaseSensitiveFileNames=!!(this||i).shimHost.useCaseSensitiveFileNames&&(this||i).shimHost.useCaseSensitiveFileNames();"directoryExists"in(this||i).shimHost&&((this||i).directoryExists=function(e){return t.shimHost.directoryExists(e)});"realpath"in(this||i).shimHost&&((this||i).realpath=function(e){return t.shimHost.realpath(e)})}CoreServicesShimHostAdapter.prototype.readDirectory=function(t,r,n,a,o){try{var s=e.getFileMatcherPatterns(t,r,n,a,(this||i).shimHost.useCaseSensitiveFileNames(),(this||i).shimHost.getCurrentDirectory());return JSON.parse((this||i).shimHost.readDirectory(t,JSON.stringify(r),JSON.stringify(s.basePaths),s.excludePattern,s.includeFilePattern,s.includeDirectoryPattern,o))}catch(a){var c=[];for(var l=0,u=r;l128&&(s=s.substring(0,128)+"...");e.log(" result.length="+s.length+", result='"+JSON.stringify(s)+"'")}}return i}function forwardJSONCall(e,t,r,n){return forwardCall(e,t,true,r,n)}function forwardCall(t,r,n,a,i){try{var o=simpleForwardCall(t,r,a,i);return n?JSON.stringify({result:o}):o}catch(n){if(n instanceof e.OperationCanceledException)return JSON.stringify({canceled:true});logInternalError(t,n);n.description=r;return JSON.stringify({error:n})}}var s=function(){function ShimBase(e){(this||i).factory=e;e.registerShim(this||i)}ShimBase.prototype.dispose=function(e){(this||i).factory.unregisterShim(this||i)};return ShimBase}();function realizeDiagnostics(e,t){return e.map((function(e){return realizeDiagnostic(e,t)}))}e.realizeDiagnostics=realizeDiagnostics;function realizeDiagnostic(t,r){return{message:e.flattenDiagnosticMessageText(t.messageText,r),start:t.start,length:t.length,category:e.DiagnosticCategory[t.category].toLowerCase(),code:t.code}}var l=function(t){c(LanguageServiceShimObject,t);function LanguageServiceShimObject(e,r,n){t.call(this||i,e);(this||i).host=r;(this||i).languageService=n;(this||i).logPerformance=false;(this||i).logger=(this||i).host}LanguageServiceShimObject.prototype.forwardJSONCall=function(e,t){return forwardJSONCall((this||i).logger,e,t,(this||i).logPerformance)};LanguageServiceShimObject.prototype.dispose=function(e){(this||i).logger.log("dispose()");(this||i).languageService.dispose();(this||i).languageService=null;if(u&&u.CollectGarbage){u.CollectGarbage();(this||i).logger.log("CollectGarbage()")}(this||i).logger=null;t.prototype.dispose.call(this||i,e)};LanguageServiceShimObject.prototype.refresh=function(e){this.forwardJSONCall("refresh("+e+")",(function(){return null}))};LanguageServiceShimObject.prototype.cleanupSemanticCache=function(){var e=this||i;this.forwardJSONCall("cleanupSemanticCache()",(function(){e.languageService.cleanupSemanticCache();return null}))};LanguageServiceShimObject.prototype.realizeDiagnostics=function(t){var r=e.getNewLineOrDefaultFromHost((this||i).host);return e.realizeDiagnostics(t,r)};LanguageServiceShimObject.prototype.getSyntacticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return a.languageService.getSyntacticClassifications(t,e.createTextSpan(r,n))}))};LanguageServiceShimObject.prototype.getSemanticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return a.languageService.getSemanticClassifications(t,e.createTextSpan(r,n))}))};LanguageServiceShimObject.prototype.getEncodedSyntacticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getEncodedSyntacticClassifications('"+t+"', "+r+", "+n+")",(function(){return convertClassifications(a.languageService.getEncodedSyntacticClassifications(t,e.createTextSpan(r,n)))}))};LanguageServiceShimObject.prototype.getEncodedSemanticClassifications=function(t,r,n){var a=this||i;return this.forwardJSONCall("getEncodedSemanticClassifications('"+t+"', "+r+", "+n+")",(function(){return convertClassifications(a.languageService.getEncodedSemanticClassifications(t,e.createTextSpan(r,n)))}))};LanguageServiceShimObject.prototype.getSyntacticDiagnostics=function(e){var t=this||i;return this.forwardJSONCall("getSyntacticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSyntacticDiagnostics(e);return t.realizeDiagnostics(r)}))};LanguageServiceShimObject.prototype.getSemanticDiagnostics=function(e){var t=this||i;return this.forwardJSONCall("getSemanticDiagnostics('"+e+"')",(function(){var r=t.languageService.getSemanticDiagnostics(e);return t.realizeDiagnostics(r)}))};LanguageServiceShimObject.prototype.getCompilerOptionsDiagnostics=function(){var e=this||i;return this.forwardJSONCall("getCompilerOptionsDiagnostics()",(function(){var t=e.languageService.getCompilerOptionsDiagnostics();return e.realizeDiagnostics(t)}))};LanguageServiceShimObject.prototype.getQuickInfoAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getQuickInfoAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getQuickInfoAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getNameOrDottedNameSpan=function(e,t,r){var n=this||i;return this.forwardJSONCall("getNameOrDottedNameSpan('"+e+"', "+t+", "+r+")",(function(){return n.languageService.getNameOrDottedNameSpan(e,t,r)}))};LanguageServiceShimObject.prototype.getBreakpointStatementAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getBreakpointStatementAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBreakpointStatementAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getSignatureHelpItems=function(e,t){var r=this||i;return this.forwardJSONCall("getSignatureHelpItems('"+e+"', "+t+")",(function(){return r.languageService.getSignatureHelpItems(e,t)}))};LanguageServiceShimObject.prototype.getDefinitionAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getDefinitionAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getTypeDefinitionAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getTypeDefinitionAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getTypeDefinitionAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getRenameInfo=function(e,t){var r=this||i;return this.forwardJSONCall("getRenameInfo('"+e+"', "+t+")",(function(){return r.languageService.getRenameInfo(e,t)}))};LanguageServiceShimObject.prototype.findRenameLocations=function(e,t,r,n){var a=this||i;return this.forwardJSONCall("findRenameLocations('"+e+"', "+t+", "+r+", "+n+")",(function(){return a.languageService.findRenameLocations(e,t,r,n)}))};LanguageServiceShimObject.prototype.getBraceMatchingAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getBraceMatchingAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getBraceMatchingAtPosition(e,t)}))};LanguageServiceShimObject.prototype.isValidBraceCompletionAtPosition=function(e,t,r){var n=this||i;return this.forwardJSONCall("isValidBraceCompletionAtPosition('"+e+"', "+t+", "+r+")",(function(){return n.languageService.isValidBraceCompletionAtPosition(e,t,r)}))};LanguageServiceShimObject.prototype.getIndentationAtPosition=function(e,t,r){var n=this||i;return this.forwardJSONCall("getIndentationAtPosition('"+e+"', "+t+")",(function(){var a=JSON.parse(r);return n.languageService.getIndentationAtPosition(e,t,a)}))};LanguageServiceShimObject.prototype.getReferencesAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getReferencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getReferencesAtPosition(e,t)}))};LanguageServiceShimObject.prototype.findReferences=function(e,t){var r=this||i;return this.forwardJSONCall("findReferences('"+e+"', "+t+")",(function(){return r.languageService.findReferences(e,t)}))};LanguageServiceShimObject.prototype.getOccurrencesAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getOccurrencesAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getOccurrencesAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getDocumentHighlights=function(t,r,n){var a=this||i;return this.forwardJSONCall("getDocumentHighlights('"+t+"', "+r+")",(function(){var i=a.languageService.getDocumentHighlights(t,r,JSON.parse(n));var o=e.normalizeSlashes(t).toLowerCase();return e.filter(i,(function(t){return e.normalizeSlashes(t.fileName).toLowerCase()===o}))}))};LanguageServiceShimObject.prototype.getCompletionsAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getCompletionsAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getCompletionsAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getCompletionEntryDetails=function(e,t,r){var n=this||i;return this.forwardJSONCall("getCompletionEntryDetails('"+e+"', "+t+", '"+r+"')",(function(){return n.languageService.getCompletionEntryDetails(e,t,r)}))};LanguageServiceShimObject.prototype.getFormattingEditsForRange=function(e,t,r,n){var a=this||i;return this.forwardJSONCall("getFormattingEditsForRange('"+e+"', "+t+", "+r+")",(function(){var i=JSON.parse(n);return a.languageService.getFormattingEditsForRange(e,t,r,i)}))};LanguageServiceShimObject.prototype.getFormattingEditsForDocument=function(e,t){var r=this||i;return this.forwardJSONCall("getFormattingEditsForDocument('"+e+"')",(function(){var n=JSON.parse(t);return r.languageService.getFormattingEditsForDocument(e,n)}))};LanguageServiceShimObject.prototype.getFormattingEditsAfterKeystroke=function(e,t,r,n){var a=this||i;return this.forwardJSONCall("getFormattingEditsAfterKeystroke('"+e+"', "+t+", '"+r+"')",(function(){var i=JSON.parse(n);return a.languageService.getFormattingEditsAfterKeystroke(e,t,r,i)}))};LanguageServiceShimObject.prototype.getDocCommentTemplateAtPosition=function(e,t){var r=this||i;return this.forwardJSONCall("getDocCommentTemplateAtPosition('"+e+"', "+t+")",(function(){return r.languageService.getDocCommentTemplateAtPosition(e,t)}))};LanguageServiceShimObject.prototype.getNavigateToItems=function(e,t){var r=this||i;return this.forwardJSONCall("getNavigateToItems('"+e+"', "+t+")",(function(){return r.languageService.getNavigateToItems(e,t)}))};LanguageServiceShimObject.prototype.getNavigationBarItems=function(e){var t=this||i;return this.forwardJSONCall("getNavigationBarItems('"+e+"')",(function(){return t.languageService.getNavigationBarItems(e)}))};LanguageServiceShimObject.prototype.getOutliningSpans=function(e){var t=this||i;return this.forwardJSONCall("getOutliningSpans('"+e+"')",(function(){return t.languageService.getOutliningSpans(e)}))};LanguageServiceShimObject.prototype.getTodoComments=function(e,t){var r=this||i;return this.forwardJSONCall("getTodoComments('"+e+"')",(function(){return r.languageService.getTodoComments(e,JSON.parse(t))}))};LanguageServiceShimObject.prototype.getEmitOutput=function(e){var t=this||i;return this.forwardJSONCall("getEmitOutput('"+e+"')",(function(){return t.languageService.getEmitOutput(e)}))};LanguageServiceShimObject.prototype.getEmitOutputObject=function(e){var t=this||i;return forwardCall((this||i).logger,"getEmitOutput('"+e+"')",false,(function(){return t.languageService.getEmitOutput(e)}),(this||i).logPerformance)};return LanguageServiceShimObject}(s);function convertClassifications(e){return{spans:e.spans.join(","),endOfLineState:e.endOfLineState}}var _=function(t){c(ClassifierShimObject,t);function ClassifierShimObject(r,n){t.call(this||i,r);(this||i).logger=n;(this||i).logPerformance=false;(this||i).classifier=e.createClassifier()}ClassifierShimObject.prototype.getEncodedLexicalClassifications=function(e,t,r){var n=this||i;return forwardJSONCall((this||i).logger,"getEncodedLexicalClassifications",(function(){return convertClassifications(n.classifier.getEncodedLexicalClassifications(e,t,r))}),(this||i).logPerformance)};ClassifierShimObject.prototype.getClassificationsForLine=function(e,t,r){var n=(this||i).classifier.getClassificationsForLine(e,t,r);var a="";for(var o=0,s=n.entries;o Date: Sun, 7 Mar 2021 16:25:27 +0200 Subject: [PATCH 3/3] separate tests --- test/_unit.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/test/_unit.js b/test/_unit.js index 1f92490..9a6d505 100755 --- a/test/_unit.js +++ b/test/_unit.js @@ -201,12 +201,22 @@ suite('Lexer', () => { }); }); Object.keys(external4).forEach(function (k) { - if (k !== 'default' && !Object.hasOwnProperty.call(exports, k)) exports[k] = external4[k]; + if (k !== 'default') exports[k] = external4[k]; }); const externalÇ˝ = require('external😃'); Object.keys(externalÇ˝).forEach(function (k) { - if (k !== 'default' && !externalÇ˝.hasOwnProperty(k)) exports[k] = externalÇ˝[k]; + if (k !== 'default') exports[k] = externalÇ˝[k]; + }); + + let external5 = require('e5'); + let external6 = require('e6'); + Object.keys(external5).forEach(function (k) { + if (k !== 'default' && !Object.hasOwnProperty.call(exports, k)) exports[k] = external5[k]; + }); + + Object.keys(external6).forEach(function (k) { + if (k !== 'default' && !external6.hasOwnProperty(k)) exports[k] = external6[k]; }); const external𤭢 = require('external𤭢'); @@ -316,7 +326,7 @@ suite('Lexer', () => { `); assert.equal(exports.length, 1); assert.equal(exports[0], '__esModule'); - assert.equal(reexports.length, 10); + assert.equal(reexports.length, 12); assert.equal(reexports[0], 'external'); assert.equal(reexports[1], 'external2'); assert.equal(reexports[2], 'external001'); @@ -326,7 +336,9 @@ suite('Lexer', () => { assert.equal(reexports[6], 'external3'); assert.equal(reexports[7], 'external4'); assert.equal(reexports[8], 'external😃'); - assert.equal(reexports[9], 'external𤭢'); + assert.equal(reexports[9], 'e5'); + assert.equal(reexports[10], 'e6'); + assert.equal(reexports[11], 'external𤭢'); }); test('invalid exports cases', () => {