!function(e,t){"object"==typeofexports&&"undefined"!=typeofmodule?module.exports=t():"function"==typeofdefine&&define.amd?define(t):(e.prettierPlugins=e.prettierPlugins||{},e.prettierPlugins.angular=t())}(this,function(){"use strict";vare=function(e){returne.length>0?e[e.length-1]:null};vart={locStart:functione(t,n){return!(n=n||{}).ignoreDecorators&&t.declaration&&t.declaration.decorators&&t.declaration.decorators.length>0?e(t.declaration.decorators[0]):!n.ignoreDecorators&&t.decorators&&t.decorators.length>0?e(t.decorators[0]):t.__location?t.__location.startOffset:t.range?t.range[0]:"number"==typeoft.start?t.start:t.loc?t.loc.start:null},locEnd:functiont(n){vari=n.nodes&&e(n.nodes);if(i&&n.source&&!n.source.end&&(n=i),n.__location)returnn.__location.endOffset;varr=n.range?n.range[1]:"number"==typeofn.end?n.end:null;returnn.typeAnnotation?Math.max(r,t(n.typeAnnotation)):n.loc&&!r?n.loc.end:r}};functionn(e){returne&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}functioni(e,t){returne(t={exports:{}},t.exports),t.exports}functionr(e){return(r="function"==typeofSymbol&&"symbol"==typeofSymbol.iterator?function(e){returntypeofe}:function(e){returne&&"function"==typeofSymbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeofe})(e)}functions(e,t){if(!(einstanceoft))thrownewTypeError("Cannot call a class as a function")}functiona(e,t){for(varn=0;n<t.length;n++){vari=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"ini&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}functiono(e,t,n){returnt&&a(e.prototype,t),n&&a(e,n),e}functionu(e,t){if("function"!=typeoft&&null!==t)thrownewTypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}functionl(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){returne.__proto__||Object.getPrototypeOf(e)})(e)}functionc(e,t){return(c=Object.setPrototypeOf||function(e,t){returne.__proto__=t,e})(e,t)}functionh(e,t){return!t||"object"!=typeoft&&"function"!=typeoft?function(e){if(void0===e)thrownewReferenceError("this hasn't been initialised - super() hasn't been called");returne}(e):t}functionp(e,t){returnv(e)||function(e,t){varn=[],i=!0,r=!1,s=void0;try{for(vara,o=e[Symbol.iterator]();!(i=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);i=!0);}catch(e){r=!0,s=e}finally{try{i||null==o.return||o.return()}finally{if(r)throws}}returnn}(e,t)||f()}functionv(e){if(Array.isArray(e))returne}functionf(){thrownewTypeError("Invalid attempt to destructure non-iterable instance")}vard=i(function(e,t){varn="\n",i="\r",r=function(){functione(e){this.string=e;for(vart=[0],r=0;r<e.length;)switch(e[r]){casen:r+=n.length,t.push(r);break;casei:e[r+=i.length]===n&&(r+=n.length),t.push(r);break;default:r++}this.offsets=t}returne.prototype.locationForIndex=function(e){if(e<0||e>this.string.length)returnnull;for(vart=0,n=this.offsets;n[t+1]<=e;)t++;return{line:t,column:e-n[t]}},e.prototype.indexForLocation=function(e){vart=e.line,n=e.column;returnt<0||t>=this.offsets.length?null:n<0||n>this.lengthOfLine(t)?null:this.offsets[t]+n},e.prototype.lengthOfLine=function(e){vart=this.offsets[e];return(e===this.offsets.length-1?this.string.length:this.offsets[e+1])-t},e}();t.__esModule=!0,t.default=r});n(d);vary=i(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});t.Context=functione(t){s(this,e),this.text=t,this.locator=newn(this.text)};varn=function(){functione(t){s(this,e),this._lineAndColumn=newd.default(t)}returno(e,[{key:"locationForIndex",value:function(e){vart=this._lineAndColumn.locationForIndex(e);return{line:t.line+1,column:t.column}}}]),e}()});n(y);varx=functione(t,n,i,r){s(this,e),this.input=n,this.errLocation=i,this.ctxLocation=r,this.message="Parser Error: ".concat(t," ").concat(i," [").concat(n,"] in ").concat(r)},g=functione(t,n){s(this,e),this.start=t,this.end=n},k=function(){functione(t){s(this,e),this.span=t}returno(e,[{key:"visit",value:function(e){arguments.length>1&&void0!==arguments[1]&&arguments[1];returnnull}},{key:"toString",value:function(){return"AST"}}]),e}(),m=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).prefix=n,a.uninterpretedExpression=i,a.location=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitQuote(this,t)}},{key:"toString",value:function(){return"Quote"}}]),t}(),w=function(e){functiont(){returns(this,t),h(this,l(t).apply(this,arguments))}returnu(t,k),o(t,[{key:"visit",value:function(e){arguments.length>1&&void0!==arguments[1]&&arguments[1]}}]),t}(),C=function(e){functiont(){returns(this,t),h(this,l(t).apply(this,arguments))}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitImplicitReceiver(this,t)}}]),t}(),P=function(e){functiont(e,n){vari;returns(this,t),(i=h(this,l(t).call(this,e))).expressions=n,i}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitChain(this,t)}}]),t}(),b=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).condition=n,a.trueExp=i,a.falseExp=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitConditional(this,t)}}]),t}(),E=function(e){functiont(e,n,i){varr;returns(this,t),(r=h(this,l(t).call(this,e))).receiver=n,r.name=i,r}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitPropertyRead(this,t)}}]),t}(),A=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).receiver=n,a.name=i,a.value=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitPropertyWrite(this,t)}}]),t}(),S=function(e){functiont(e,n,i){varr;returns(this,t),(r=h(this,l(t).call(this,e))).receiver=n,r.name=i,r}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitSafePropertyRead(this,t)}}]),t}(),N=function(e){functiont(e,n,i){varr;returns(this,t),(r=h(this,l(t).call(this,e))).obj=n,r.key=i,r}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitKeyedRead(this,t)}}]),t}(),O=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).obj=n,a.key=i,a.value=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitKeyedWrite(this,t)}}]),t}(),I=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).exp=n,a.name=i,a.args=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitPipe(this,t)}}]),t}(),L=function(e){functiont(e,n){vari;returns(this,t),(i=h(this,l(t).call(this,e))).value=n,i}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitLiteralPrimitive(this,t)}}]),t}(),M=function(e){functiont(e,n){vari;returns(this,t),(i=h(this,l(t).call(this,e))).expressions=n,i}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitLiteralArray(this,t)}}]),t}(),_=function(e){functiont(e,n,i){varr;returns(this,t),(r=h(this,l(t).call(this,e))).keys=n,r.values=i,r}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitLiteralMap(this,t)}}]),t}(),K=function(e){functiont(e,n,i){varr;returns(this,t),(r=h(this,l(t).call(this,e))).strings=n,r.expressions=i,r}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitInterpolation(this,t)}}]),t}(),T=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).operation=n,a.left=i,a.right=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitBinary(this,t)}}]),t}(),B=function(e){functiont(e,n){vari;returns(this,t),(i=h(this,l(t).call(this,e))).expression=n,i}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitPrefixNot(this,t)}}]),t}(),R=function(e){functiont(e,n){vari;returns(this,t),(i=h(this,l(t).call(this,e))).expression=n,i}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitNonNullAssert(this,t)}}]),t}(),j=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).receiver=n,a.name=i,a.args=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitMethodCall(this,t)}}]),t}(),F=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,e))).receiver=n,a.name=i,a.args=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitSafeMethodCall(this,t)}}]),t}(),V=function(e){functiont(e,n,i){varr;returns(this,t),(r=h(this,l(t).call(this,e))).target=n,r.args=i,r}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returne.visitFunctionCall(this,t)}}]),t}(),G=function(e){functiont(e,n,i,r){vara;returns(this,t),(a=h(this,l(t).call(this,newg(0,null==n?0:n.length)))).ast=e,a.source=n,a.location=i,a.errors=r,a}returnu(t,k),o(t,[{key:"visit",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;returnthis.ast.visit(e,t)}},{key:"toString",value:function(){return"".concat(this.source," in ").concat(this.location)}}]),t}(),W=functione(t,n,i,r,a){s(this,e),this.span=t,this.key=n,this.keyIsVar=i,this.name=r,this.expression=a},U=function(){functione(){s(this,e)}returno(e,[{key:"visitBinary",value:function(e,t){}},{key:"visitChain",value:function(e,t){}},{key:"visitConditional",value:function(e,t){}},{key:"visitFunctionCall",value:function(e,t){}},{key:"visitImplicitReceiver",value:function(e,t){}},{key:"visitInterpolation",value:function(e,t){}},{key:"visitKeyedRead",value:function(e,t){}},{key:"visitKeyedWrite",value:function(e,t){}},{key:"visitLiteralArray",value:function(e,t){}},{key:"visitLiteralMap",value:function(e,t){}},{key:"visitLiteralPrimitive",value:function(e,t){}},{key:"visitMethodCall",value:function(e,t){}},{key:"visitPipe",value:function(e,t){}},{key:"visitPrefixNot",value:function(e,t){}},{key:"visitNonNullAssert",value:function(e,t){}},{key:"visitPropertyRead",value:function(e,t){}},{key:"visitPropertyWrite",value:function(e,t){}},{key:"visitQuote",value:function(e,t){}},{key:"visitSafeMethodCall",value:function(e,t){}},{key:"visitSafePropertyRead",value:function(e,t){}}]),e}(),Q=function(){functione(){s(this,e)}returno(e,[{key:"visitBinary",value:function(e,t){returne.left.visit(this),e.right.visit(this),null}},{key:"visitChain",value:function(e,t){returnthis.visitAll(e.expressions,t)}},{key:"visitConditional",value:function(e,t){returne.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this),null}},{key:"visitPipe",value:function(e,t){returne.exp.visit(this),this.visitAll(e.args,t),null}},{key:"visitFunctionCall",value:function(e,t){returne.target.visit(this),this.visitAll(e.args,t),null}},{key:"visitImplicitReceiver",value:function(e,t){returnnull}},{key:"visitInterpolation",value:function(e,t){returnthis.visitAll(e.expressions,t)}},{key:"visitKeyedRead",value:function(e,t){returne.obj.visit(this),e.key.visit(this),null}},{key:"visitKeyedWrite",value:function(e,t){returne.obj.visit(this),e.key.visit(this),e.value.visit(this),null}},{key:"visitLiteralArray",value:function(e,t){returnthis.visitAll(e.expressions,t)}},{key:"visitLiteralMap",value:function(e,t){returnthis.visitAll(e.values,t)}},{key:"visitLiteralPrimitive",value:function(e,t){returnnull}},{key:"visitMethodCall",value:function(e,t){returne.receiver.visit(this),this.visitAll(e.args,t)}},{key:"visitPrefixNot",value:function(e,t){returne.expression.visit(this),null}},{key:"visitNonNullAssert",value:function(e,t){returne.expression.visit(this),null}},{key:"visitPropertyRead",value:function(e,t){returne.receiver.visit(this),null}},{key:"visitPropertyWrite",value:function(e,t){returne.receiver.visit(this),e.value.visit(this),null}},{key:"visitSafePropertyRead",value:function(e,t){returne.receiver.visit(this),null}},{key:"visitSafeMethodCall",value:function(e,t){returne.receiver.visit(this),this.visitAll(e.args,t)}},{key:"visitAll",value:function(e,t){varn=this;returne.forEach(function(e){returne.visit(n,t)}),null}},{key:"visitQuote",value:function(e,t){returnnull}}]),e}(),z=function(){functione(){s(this,e)}returno(e,[{key:"visitImplicitReceiver",value:function(e,t){returne}},{key:"visitInterpolation",value:function(e,t){returnnewK(e.span,e.strings,this.visitAll(e.expressions))}},{key:"visitLiteralPrimitive",value:function(e,t){returnnewL(e.span,e.value)}},{key:"visitPropertyRead",value:function(e,t){returnnewE(e.span,e.receiver.visit(this),e.name)}},{key:"visitPropertyWrite",value:function(e,t){returnnewA(e.span,e.receiver.visit(this),e.name,e.value.visit(this))}},{key:"visitSafePropertyRead",value:function(e,t){returnnewS(e.span,e.receiver.visit(this),e.name)}},{key:"visitMethodCall",value:function(e,t){returnnewj(e.span,e.receiver.visit(this),e.name,this.visitAll(e.args))}},{key:"visitSafeMethodCall",value:function(e,t){returnnewF(e.span,e.receiver.visit(this),e.name,this.visitAll(e.args))}},{key:"visitFunctionCall",value:function(e,t){returnnewV(e.span,e.target.visit(this),this.visitAll(e.args))}},{key:"visitLiteralArray",value:function(e,t){returnnewM(e.span,this.visitAll(e.expressions))}},{key:"visitLiteralMap",value:function(e,t){returnnew_(e.span,e.keys,this.visitAll(e.values))}},{key:"visitBinary",value:function(e,t){returnnewT(e.span,e.operation,e.left.visit(this),e.right.visit(this))}},{key:"visitPrefixNot",value:function(e,t){returnnewB(e.span,e.expression.visit(this))}},{key:"visitNonNullAssert",value:function(e,t){returnnewR(e.span,e.expression.visit(this))}},{key:"visitConditional",value:function(e,t){returnnewb(e.span,e.condition.visit(this),e.trueExp.visit(this),e.falseExp.visit(this))}},{key:"visitPipe",value:function(e,t){returnnewI(e.span,e.exp.visit(this),e.name,this.visitAll(e.args))}},{key:"visitKeyedRead",value:function(e,t){returnnewN(e.span,e.obj.visit(this),e.key.visit(this))}},{key:"visitKeyedWrite",value:function(e,t){returnnewO(e.span,e.obj.visit(this),e.key.visit(this),e.value.visit(this))}},{key:"visitAll",value:function(e){for(vart=newArray(e.length),n=0;n<e.length;++n)t[n]=e[n].visit(this);returnt}},{key:"visitChain",value:function(e,t){returnnewP(e.span,this.visitAll(e.expressions))}},{key:"visitQuote",value:function(e,t){returnnewm(e.span,e.prefix,e.uninterpretedExpression,e.location)}}]),e}(),$=function(){functione(){s(this,e)}returno(e,[{key:"visitImplicitReceiver",value:function(e,t){returne}},{key:"visitInterpolation",value:function(e,t){varn=this.visitAll(e.expressions);returnn!==e.expressions?newK(e.span,e.strings,n):e}},{key:"visitLiteralPrimitive",value:function(e,t){returne}},{key:"visitPropertyRead",value:function(e,t){varn=e.receiver.visit(this);returnn!==e.receiver?newE(e.span,n,e.name):e}},{key:"visitPropertyWrite",value:function(e,t){varn=e.receiver.visit(this),i=e.value.visit(this);returnn!==e.receiver||i!==e.value?newA(e.span,n,e.name,i):e}},{key:"visitSafePropertyRead",value:function(e,t){varn=e.receiver.visit(this);returnn!==e.receiver?newS(e.span,n,e.name):e}},{key:"visitMethodCall",value:function(e,t){varn=e.receiver.visit(this);returnn!==e.receiver?newj(e.span,n,e.name,this.visitAll(e.args)):e}},{key:"visitSafeMethodCall",value:function(e,t){varn=e.receiver.visit(this),i=this.visitAll(e.args);returnn!==e.receiver||i!==e.args?newF(e.span,n,e.name,i):e}},{key:"visitFunctionCall",value:function(e,t){varn=e.target&&e.target.visit(this),i=this.visitAll(e.args);returnn!==e.target||i!==e.args?newV(e.span,n,i):e}},{key:"visitLiteralArray",value:function(e,t){varn=this.visitAll(e.expressions);returnn!==e.expressions?newM(e.span,n):e}},{key:"visitLiteralMap",value:function(e,t){varn=this.visitAll(e.values);returnn!==e.values?new_(e.span,e.keys,n):e}},{key:"visitBinary",value:function(e,t){varn=e.left.visit(this),i=e.right.visit(this);returnn!==e.left||i!==e.right?newT(e.span,e.operation,n,i):e}},{key:"visitPrefixNot",value:function(e,t){varn=e.expression.visit(this);returnn!==e.expression?newB(e.span,n):e}},{key:"visitNonNullAssert",value:function(e,t){varn=e.expression.visit(this);returnn!==e.expression?newR(e.span,n):e}},{key:"visitConditional",value:function(e,t){varn=e.condition.visit(this),i=e.trueExp.visit(this),r=e.falseExp.visit(this);returnn!==e.condition||i!==e.trueExp||r!=r?newb(e.span,n,i,r):e}},{key:"visitPipe",value:function(e,t){varn=e.exp.visit(this),i=this.visitAll(e.args);returnn!==e.exp||i!==e.args?newI(e.span,n,e.name,i):e}},{key:"visitKeyedRead",value:function(e,t){varn=e.obj.visit(this),i=e.key.visit(this);returnn!==e.obj||i!==e.key?newN(e.span,n,i):e}},{key:"visitKeyedWrite",value:function(e,t){varn=e.obj.visit(this),i=e.key.visit(this),r=e.value.visit(this);returnn!==e.obj||i!==e.key||r!==e.value?newO(e.span,n,i,r):e}},{key:"visitAll",value:function(e){for(vart=newArray(e.length),n=!1,i=0;i<e.length;++i){varr=e[i],s=r.visit(this);t[i]=s,n=n||s!==r}returnn?t:e}},{key:"visitChain",value:function(e,t){varn=this.visitAll(e.expressions);returnn!==e.expressions?newP(e.span,n):e}},{key:"visitQuote",value:function(e,t){returne}}]),e}();varq;!function(e){e[e.DEFAULT=0]="DEFAULT",e[e.LITERAL_ATTR=1]="LITERAL_ATTR",e[e.ANIMATION=2]="ANIMATION"}(q||(q={}));varD,H=Object.freeze({ParserError:x,ParseSpan:g,AST:k,Quote:m,EmptyExpr:w,ImplicitReceiver:C,Chain:P,Conditional:b,PropertyRead:E,PropertyWrite:A,SafePropertyRead:S,KeyedRead:N,KeyedWrite:O,BindingPipe:I,LiteralPrimitive:L,LiteralArray:M,LiteralMap:_,Interpolation:K,Binary:T,PrefixNot:B,NonNullAssert:R,MethodCall:j,SafeMethodCall:F,FunctionCall:V,ASTWithSource:G,TemplateBinding:W,NullAstVisitor:U,RecursiveAstVisitor:Q,AstTransformer:z,AstMemoryEfficientTransformer:$,visitAstChildren:function(e,t,n){functioni(e){t.visit&&t.visit(e,n)||e.visit(t,n)}functionr(e){e.forEach(i)}e.visit({visitBinary:function(e){i(e.left),i(e.right)},visitChain:function(e){r(e.expressions)},visitConditional:function(e){i(e.condition),i(e.trueExp),i(e.falseExp)},visitFunctionCall:function(e){e.target&&i(e.target),r(e.args)},visitImplicitReceiver:function(e){},visitInterpolation:function(e){r(e.expressions)},visitKeyedRead:function(e){i(e.obj),i(e.key)},visitKeyedWrite:function(e){i(e.obj),i(e.key),i(e.obj)},visitLiteralArray:function(e){r(e.expressions)},visitLiteralMap:function(e){},visitLiteralPrimitive:function(e){},visitMethodCall:function(e){i(e.receiver),r(e.args)},visitPipe:function(e){i(e.exp),r(e.args)},visitPrefixNot:function(e){i(e.expression)},visitNonNullAssert:function(e){i(e.expression)},visitPropertyRead:function(e){i(e.receiver)},visitPropertyWrite:function(e){i(e.receiver),i(e.value)},visitQuote:function(e){},visitSafeMethodCall:function(e){i(e.receiver),r(e.args)},visitSafePropertyRead:function(e){i(e.receiver)}})},ParsedProperty:functione(t,n,i,r){s(this,e),this.name=t,this.expression=n,this.type=i,this.sourceSpan=r,this.isLiteral=this.type===q.LITERAL_ATTR,this.isAnimation=this.type===q.ANIMATION},getParsedPropertyType(){returnq},ParsedEvent:functione(t,n,i,r,a){s(this,e),this.name=t,this.targetOrPhase=n,this.type=i,this.handler=r,this.sourceSpan=a},ParsedVariable:functione(t,n,i){s(this,e),this.name=t,this.value=n,this.sourceSpan=i},BoundElementProperty:functione(t,n,i,r,a,o){s(this,e),this.name=t,this.type=n,this.securityContext=i,this.value=r,this.unit=a,this.sourceSpan=o}}),J=0,X=9,Y=10,Z=11,ee=12,te=13,ne=32,ie=34,re=36,se=39,ae=43,oe=45,ue=48,le=57,ce=65,he=69,pe=90,ve=95,fe=97,de=101,ye=102,xe=110,ge=114,ke=116,me=118,we=122,Ce=160,Pe=96;functionbe(e){returnue<=e&&e<=le}!function(e){e[e.Character=0]="Character",e[e.Identifier=1]="Identifier",e[e.Keyword=2]="Keyword",e[e.String=3]="String",e[e.Operator=4]="Operator",e[e.Number=5]="Number",e[e.Error=6]="Error"}(D||(D={}));varEe=["var","let","as","null","undefined","true","false","if","else","this"],Ae=function(){functione(){s(this,e)}returno(e,[{key:"tokenize",value:function(e){for(vart=newLe(e),n=[],i=t.scanToken();null!=i;)n.push(i),i=t.scanToken();returnn}}]),e}(),Se=function(){functione(t,n,i,r){s(this,e),this.index=t,this.type=n,this.numValue=i,this.strValue=r}returno(e,[{key:"isCharacter",value:function(e){returnthis.type==D.Character&&this.numValue==e}},{key:"isNumber",value:function(){returnthis.type==D.Number}},{key:"isString",value:function(){returnthis.type==D.String}},{key:"isOperator",value:function(e){returnthis.type==D.Operator&&this.strValue==e}},{key:"isIdentifier",value:function(){returnthis.type==D.Identifier}},{key:"isKeyword",value:function(){returnthis.type==D.Keyword}},{key:"isKeywordLet",value:function(){returnthis.type==D.Keyword&&"let"==this.strValue}},{key:"isKeywordAs",value:function(){returnthis.type==D.Keyword&&"as"==this.strValue}},{key:"isKeywordNull",value:function(){returnthis.type==D.Keyword&&"null"==this.strValue}},{key:"isKeywordUndefined",value:function(){returnthis.type==D.Keyword&&"undefined"==this.strValue}},{key:"isKeywordTrue",value:function(){returnthis.type==D.Keyword&&"true"==this.strValue}},{key:"isKeywordFalse",value:function(){returnthis.type==D.Keyword&&"false"==this.strValue}},{key:"isKeywordThis",value:function(){returnthis.type==D.Keyword&&"this"==this.strValue}},{key:"isError",value:function(){returnthis.type==D.Error}},{key:"toNumber",value:function(){returnthis.type==D.Number?this.numValue:-1}},{key:"toString",value:function(){switch(this.type){caseD.Character:caseD.Identifier:caseD.Keyword:caseD.Operator:caseD.String:caseD.Error:returnthis.strValue;caseD.Number:returnthis.numValue.toString();default:returnnull}}}]),e}();functionNe(e,t){returnnewSe(e,D.Character,t,String.fromCharCode(t))}functionOe(e,t){returnnewSe(e,D.Operator,0,t)}varIe=newSe(-1,D.Character,0,""),Le=function(){functione(t){s(this,e),this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}returno(e,[{key:"advance",value:function(){this.peek=++this.index>=this.length?J:this.input.charCodeAt(this.index)}},{key:"scanToken",value:function(){for(vare=this.input,t=this.length,n=this.peek,i=this.index;n<=ne;){if(++i>=t){n=J;break}n=e.charCodeAt(i)}if(this.peek=n,this.index=i,i>=t)returnnull;if(Me(n))returnthis.scanIdentifier();if(be(n))returnthis.scanNumber(i);varr,s=i;switch(n){case46:returnthis.advance(),be(this.peek)?this.scanNumber(s):Ne(s,46);case40:case41:case123:case125:case91:case93:case44:case58:case59:returnthis.scanCharacter(s,n);casese:caseie:returnthis.scanString();case35:caseae:caseoe:case42:case47:case37:case94:returnthis.scanOperator(s,String.fromCharCode(n));case63:returnthis.scanComplexOperator(s,"?",46,".");case60:case62:returnthis.scanComplexOperator(s,String.fromCharCode(n),61,"=");case33:case61:returnthis.scanComplexOperator(s,String.fromCharCode(n),61,"=",61,"=");case38:returnthis.scanComplexOperator(s,"&",38,"&");case124:returnthis.scanComplexOperator(s,"|",124,"|");caseCe:for(;(r=this.peek)>=X&&r<=ne||r==Ce;)this.advance();returnthis.scanToken()}returnthis.advance(),this.error("Unexpected character [".concat(String.fromCharCode(n),"]"),0)}},{key:"scanCharacter",value:function(e,t){returnthis.advance(),Ne(e,t)}},{key:"scanOperator",value:function(e,t){returnthis.advance(),Oe(e,t)}},{key:"scanComplexOperator",value:function(e,t,n,i,r,s){this.advance();vara=t;returnthis.peek==n&&(this.advance(),a+=i),null!=r&&this.peek==r&&(this.advance(),a+=s),Oe(e,a)}},{key:"scanIdentifier",value:function(){vare=this.index;for(this.advance();Ke(this.peek);)this.advance();vart,n=this.input.substring(e,this.index);returnEe.indexOf(n)>-1?(t=n,newSe(e,D.Keyword,0,t)):function(e,t){returnnewSe(e,D.Identifier,0,t)}(e,n)}},{key:"scanNumber",value:function(e){vart,n=this.index===e;for(this.advance();;){if(be(this.peek));elseif(46==this.peek)n=!1;else{if((t=this.peek)!=de&&t!=he)break;if(this.advance(),Te(this.peek)&&this.advance(),!be(this.peek))returnthis.error("Invalid exponent",-1);n=!1}this.advance()}vari,r=this.input.substring(e,this.index),s=n?function(e){vart=parseInt(e);if(isNaN(t))thrownewError("Invalid integer literal when parsing "+e);returnt}(r):parseFloat(r);returni=s,newSe(e,D.Number,i,"")}},{key:"scanString",value:function(){vare=this.index,t=this.peek;this.advance();for(varn="",i=this.index,r=this.input;this.peek!=t;)if(92==this.peek){n+=r.substring(i,this.index),this.advance();vars=void0;if(this.peek=this.peek,117==this.peek){vara=r.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(a))returnthis.error("Invalid unicode escape [\\u".concat(a,"]"),0);s=parseInt(a,16);for(varo=0;o<5;o++)this.advance()}elses=Re(this.peek),this.advance();n+=String.fromCharCode(s),i=this.index}else{if(this.peek==J)returnthis.error("Unterminated quote",0);this.advance()}varu,l=r.substring(i,this.index);returnthis.advance(),u=n+l,newSe(e,D.String,0,u)}},{key:"error",value:function(e,t){varn=this.index+t;returnfunction(e,t){returnnewSe(e,D.Error,0,t)}(n,"Lexer Error: ".concat(e," at column ").concat(n," in expression [").concat(this.input,"]"))}}]),e}();functionMe(e){returnfe<=e&&e<=we||ce<=e&&e<=pe||e==ve||e==re}function_e(e){if(0==e.length)return!1;vart=newLe(e);if(!Me(t.peek))return!1;for(t.advance();t.peek!==J;){if(!Ke(t.peek))return!1;t.advance()}return!0}functionKe(e){returnfunction(e){returne>=fe&&e<=we||e>=ce&&e<=pe}(e)||be(e)||e==ve||e==re}functionTe(e){returne==oe||e==ae}functionBe(e){returne===se||e===ie||e===Pe}functionRe(e){switch(e){casexe:returnY;caseye:returnee;casege:returnte;caseke:returnX;caseme:returnZ;default:returne}}varje=Object.freeze({getTokenType(){returnD},Lexer:Ae,Token:Se,EOF:Ie,isIdentifier:_e,isQuote:Be}),Fe=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];varVe=new(function(){functione(t,n){s(this,e),this.start=t,this.end=n}returno(e,null,[{key:"fromArray",value:function(t){returnt?(function(e,t){if(!(null==t||Array.isArray(t)&&2==t.length))thrownewError("Expected '".concat(e,"' to be an array, [start, end]."));if(null!=t){varn=t[0],i=t[1];Fe.forEach(function(e){if(e.test(n)||e.test(i))thrownewError("['".concat(n,"', '").concat(i,"'] contains unusable interpolation symbol."))})}}("interpolation",t),newe(t[0],t[1])):Ve}}]),e}())("{{","}}");functionGe(e){returne.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}Object.getPrototypeOf({});varWe=functione(t,n,i){s(this,e),this.strings=t,this.expressions=n,this.offsets=i},Ue=functione(t,n,i){s(this,e),this.templateBindings=t,this.warnings=n,this.errors=i};functionQe(e){vart=Ge(e.start)+"([\\s\\S]*?)"+Ge(e.end);returnnewRegExp(t,"g")}varze=function(){functione(t){s(this,e),this._lexer=t,this.errors=[]}returno(e,[{key:"parseAction",value:function(e,t){varn=arguments.length>2&&void0!==arguments[2]?arguments[2]:Ve;this._checkNoInterpolation(e,t,n);vari=this._stripComments(e),r=this._lexer.tokenize(this._stripComments(e)),s=new$e(e,t,r,i.length,!0,this.errors,e.length-i.length).parseChain();returnnewG(s,e,t,this.errors)}},{key:"parseBinding",value:function(e,t){varn=arguments.length>2&&void0!==arguments[2]?arguments[2]:Ve,i=this._parseBindingAst(e,t,n);returnnewG(i,e,t,this.errors)}},{key:"parseSimpleBinding",value:function(e,t){varn=arguments.length>2&&void0!==arguments[2]?arguments[2]:Ve,i=this._parseBindingAst(e,t,n),r=qe.check(i);returnr.length>0&&this._reportError("Host binding expression cannot contain ".concat(r.join(" ")),e,t),newG(i,e,t,this.errors)}},{key:"_reportError",value:function(e,t,n,i){this.errors.push(newx(e,t,n,i))}},{key:"_parseBindingAst",value:function(e,t,n){vari=this._parseQuote(e,t);if(null!=i)returni;this._checkNoInterpolation(e,t,n);varr=this._stripComments(e),s=this._lexer.tokenize(r);returnnew$e(e,t,s,r.length,!1,this.errors,e.length-r.length).parseChain()}},{key:"_parseQuote",value:function(e,t){if(null==e)returnnull;varn=e.indexOf(":");if(-1==n)returnnull;vari=e.substring(0,n).trim();if(!_e(i))returnnull;varr=e.substring(n+1);returnnewm(newg(0,e.length),i,r,t)}},{key:"parseTemplateBindings",value:function(e,t,n){vari=this._lexer.tokenize(t);returnnew$e(t,n,i,t.length,!1,this.errors,0).parseTemplateBindings(e)}},{key:"parseInterpolation",value:function(e,t){varn=arguments.length>2&&void0!==arguments[2]?arguments[2]:Ve,i=this.splitInterpolation(e,t,n);if(null==i)returnnull;for(varr=[],s=0;s<i.expressions.length;++s){vara=i.expressions[s],o=this._stripComments(a),u=this._lexer.tokenize(o),l=new$e(e,t,u,o.length,!1,this.errors,i.offsets[s]+(a.length-o.length)).parseChain();r.push(l)}returnnewG(newK(newg(0,null==e?0:e.length),i.strings,r),e,t,this.errors)}},{key:"splitInterpolation",value:function(e,t){varn=arguments.length>2&&void0!==arguments[2]?arguments[2]:Ve,i=Qe(n),r=e.split(i);if(r.length<=1)returnnull;for(vars=[],a=[],o=[],u=0,l=0;l<r.length;l++){varc=r[l];l%2==0?(s.push(c),u+=c.length):c.trim().length>0?(u+=n.start.length,a.push(c),o.push(u),u+=c.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",e,"at column ".concat(this._findInterpolationErrorColumn(r,l,n)," in"),t),a.push("$implict"),o.push(u))}returnnewWe(s,a,o)}},{key:"wrapLiteralPrimitive",value:function(e,t){returnnewG(newL(newg(0,null==e?0:e.length),e),e,t,this.errors)}},{key:"_stripComments",value:function(e){vart=this._commentStart(e);returnnull!=t?e.substring(0,t).trim():e}},{key:"_commentStart",value:function(e){for(vart=null,n=0;n<e.length-1;n++){vari=e.charCodeAt(n),r=e.charCodeAt(n+1);if(47===i&&47==r&&null==t)returnn;t===i?t=null:null==t&&Be(i)&&(t=i)}returnnull}},{key:"_checkNoInterpolation",value:function(e,t,n){vari=Qe(n),r=e.split(i);r.length>1&&this._reportError("Got interpolation (".concat(n.start).concat(n.end,") where expression was expected"),e,"at column ".concat(this._findInterpolationErrorColumn(r,1,n)," in"),t)}},{key:"_findInterpolationErrorColumn",value:function(e,t,n){for(vari="",r=0;r<t;r++)i+=r%2==0?e[r]:"".concat(n.start).concat(e[r]).concat(n.end);returni.length}}]),e}(),$e=function(){functione(t,n,i,r,a,o,u){s(this,e),this.input=t,this.location=n,this.tokens=i,this.inputLength=r,this.parseAction=a,this.errors=o,this.offset=u,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.index=0}returno(e,[{key:"peek",value:function(e){vart=this.index+e;returnt<this.tokens.length?this.tokens[t]:Ie}},{key:"span",value:function(e){returnnewg(e,this.inputIndex)}},{key:"advance",value:function(){this.index++}},{key:"optionalCharacter",value:function(e){return!!this.next.isCharacter(e)&&(this.advance(),!0)}},{key:"peekKeywordLet",value:function(){returnthis.next.isKeywordLet()}},{key:"peekKeywordAs",value:function(){returnthis.next.isKeywordAs()}},{key:"expectCharacter",value:function(e){this.optionalCharacter(e)||this.error("Missing expected ".concat(String.fromCharCode(e)))}},{key:"optionalOperator",value:function(e){return!!this.next.isOperator(e)&&(this.advance(),!0)}},{key:"expectOperator",value:function(e){this.optionalOperator(e)||this.error("Missing expected operator ".concat(e))}},{key:"expectIdentifierOrKeyword",value:function(){vare=this.next;returne.isIdentifier()||e.isKeyword()?(this.advance(),e.toString()):(this.error("Unexpected token ".concat(e,", expected identifier or keyword")),"")}},{key:"expectIdentifierOrKeywordOrString",value:function(){vare=this.next;returne.isIdentifier()||e.isKeyword()||e.isString()?(this.advance(),e.toString()):(this.error("Unexpected token ".concat(e,", expected identifier, keyword, or string")),"")}},{key:"parseChain",value:function(){for(vare=[],t=this.inputIndex;this.index<this.tokens.length;){varn=this.parsePipe();if(e.push(n),this.optionalCharacter(59))for(this.parseAction||this.error("Binding expression cannot contain chained expression");this.optionalCharacter(59););elsethis.index<this.tokens.length&&this.error("Unexpected token '".concat(this.next,"'"))}return0==e.length?neww(this.span(t)):1==e.length?e[0]:newP(this.span(t),e)}},{key:"parsePipe",value:function(){vare=this.parseExpression();if(this.optionalOperator("|")){this.parseAction&&this.error("Cannot have a pipe in an action expression");do{for(vart=this.expectIdentifierOrKeyword(),n=[];this.optionalCharacter(58);)n.push(this.parseExpression());e=newI(this.span(e.span.start),e,t,n)}while(this.optionalOperator("|"))}returne}},{key:"parseExpression",value:function(){returnthis.parseConditional()}},{key:"parseConditional",value:function(){vare=this.inputIndex,t=this.parseLogicalOr();if(this.optionalOperator("?")){varn,i=this.parsePipe();if(this.optionalCharacter(58))n=this.parsePipe();else{varr=this.inputIndex,s=this.input.substring(e,r);this.error("Conditional expression ".concat(s," requires all 3 expressions")),n=neww(this.span(e))}returnnewb(this.span(e),t,i,n)}returnt}},{key:"parseLogicalOr",value:function(){for(vare=this.parseLogicalAnd();this.optionalOperator("||");){vart=this.parseLogicalAnd();e=newT(this.span(e.span.start),"||",e,t)}returne}},{key:"parseLogicalAnd",value:function(){for(vare=this.parseEquality();this.optionalOperator("&&");){vart=this.parseEquality();e=newT(this.span(e.span.start),"&&",e,t)}returne}},{key:"parseEquality",value:function(){for(vare=this.parseRelational();this.next.type==D.Operator;){vart=this.next.strValue;switch(t){case"==":case"===":case"!=":case"!==":this.advance();varn=this.parseRelational();e=newT(this.span(e.span.start),t,e,n);continue}break}returne}},{key:"parseRelational",value:function(){for(vare=this.parseAdditive();this.next.type==D.Operator;){vart=this.next.strValue;switch(t){case"<":case">":case"<=":case">=":this.advance();varn=this.parseAdditive();e=newT(this.span(e.span.start),t,e,n);continue}break}returne}},{key:"parseAdditive",value:function(){for(vare=this.parseMultiplicative();this.next.type==D.Operator;){vart=this.next.strValue;switch(t){case"+":case"-":this.advance();varn=this.parseMultiplicative();e=newT(this.span(e.span.start),t,e,n);continue}break}returne}},{key:"parseMultiplicative",value:function(){for(vare=this.parsePrefix();this.next.type==D.Operator;){vart=this.next.strValue;switch(t){case"*":case"%":case"/":this.advance();varn=this.parsePrefix();e=newT(this.span(e.span.start),t,e,n);continue}break}returne}},{key:"parsePrefix",value:function(){if(this.next.type==D.Operator){vare,t=this.inputIndex,n=this.next.strValue;switch(n){case"+":returnthis.advance(),e=this.parsePrefix(),newT(this.span(t),"-",e,newL(newg(t,t),0));case"-":returnthis.advance(),e=this.parsePrefix(),newT(this.span(t),n,newL(newg(t,t),0),e);case"!":returnthis.advance(),e=this.parsePrefix(),newB(this.span(t),e)}}returnthis.parseCallChain()}},{key:"parseCallChain",value:function(){for(vare=this.parsePrimary();;)if(this.optionalCharacter(46))e=this.parseAccessMemberOrMethodCall(e,!1);elseif(this.optionalOperator("?."))e=this.parseAccessMemberOrMethodCall(e,!0);elseif(this.optionalCharacter(91)){this.rbracketsExpected++;vart=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(93),this.optionalOperator("=")){varn=this.parseConditional();e=newO(this.span(e.span.start),e,t,n)}elsee=newN(this.span(e.span.start),e,t)}elseif(this.optionalCharacter(40)){this.rparensExpected++;vari=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(41),e=newV(this.span(e.span.start),e,i)}else{if(!this.optionalOperator("!"))returne;e=newR(this.span(e.span.start),e)}}},{key:"parsePrimary",value:function(){vare=this.inputIndex;if(this.optionalCharacter(40)){this.rparensExpected++;vart=this.parsePipe();returnthis.rparensExpected--,this.expectCharacter(41),t}if(this.next.isKeywordNull())returnthis.advance(),newL(this.span(e),null);if(this.next.isKeywordUndefined())returnthis.advance(),newL(this.span(e),void0);if(this.next.isKeywordTrue())returnthis.advance(),newL(this.span(e),!0);if(this.next.isKeywordFalse())returnthis.advance(),newL(this.span(e),!1);if(this.next.isKeywordThis())returnthis.advance(),newC(this.span(e));if(this.optionalCharacter(91)){this.rbracketsExpected++;varn=this.parseExpressionList(93);returnthis.rbracketsExpected--,this.expectCharacter(93),newM(this.span(e),n)}if(this.next.isCharacter(123))returnthis.parseLiteralMap();if(this.next.isIdentifier())returnthis.parseAccessMemberOrMethodCall(newC(this.span(e)),!1);if(this.next.isNumber()){vari=this.next.toNumber();returnthis.advance(),newL(this.span(e),i)}if(this.next.isString()){varr=this.next.toString();returnthis.advance(),newL(this.span(e),r)}returnthis.index>=this.tokens.length?(this.error("Unexpected end of expression: ".concat(this.input)),neww(this.span(e))):(this.error("Unexpected token ".concat(this.next)),neww(this.span(e)))}},{key:"parseExpressionList",value:function(e){vart=[];if(!this.next.isCharacter(e))do{t.push(this.parsePipe())}while(this.optionalCharacter(44));returnt}},{key:"parseLiteralMap",value:function(){vare=[],t=[],n=this.inputIndex;if(this.expectCharacter(123),!this.optionalCharacter(125)){this.rbracesExpected++;do{vari=this.next.isString(),r=this.expectIdentifierOrKeywordOrString();e.push({key:r,quoted:i}),this.expectCharacter(58),t.push(this.parsePipe())}while(this.optionalCharacter(44));this.rbracesExpected--,this.expectCharacter(125)}returnnew_(this.span(n),e,t)}},{key:"parseAccessMemberOrMethodCall",value:function(e){vart=arguments.length>1&&void0!==arguments[1]&&arguments[1],n=e.span.start,i=this.expectIdentifierOrKeyword();if(this.optionalCharacter(40)){this.rparensExpected++;varr=this.parseCallArguments();this.expectCharacter(41),this.rparensExpected--;vars=this.span(n);returnt?newF(s,e,i,r):newj(s,e,i,r)}if(t)returnthis.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),neww(this.span(n))):newS(this.span(n),e,i);if(this.optionalOperator("=")){if(!this.parseAction)returnthis.error("Bindings cannot contain assignments"),neww(this.span(n));vara=this.parseConditional();returnnewA(this.span(n),e,i,a)}returnnewE(this.span(n),e,i)}},{key:"parseCallArguments",value:function(){if(this.next.isCharacter(41))return[];vare=[];do{e.push(this.parsePipe())}while(this.optionalCharacter(44));returne}},{key:"expectTemplateBindingKey",value:function(){vare="",t=!1;do{e+=this.expectIdentifierOrKeywordOrString(),(t=this.optionalOperator("-"))&&(e+="-")}while(t);returne.toString()}},{key:"parseTemplateBindings",value:function(e){vart=!0,n=[];do{vari=this.inputIndex,r=void0,s=void0,a=!1;t?(r=s=e,t=!1):((a=this.peekKeywordLet())&&this.advance(),r=this.expectTemplateBindingKey(),s=a?r:e+r[0].toUpperCase()+r.substring(1),this.optionalCharacter(58));varo=null,u=null;if(a)o=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";elseif(this.peekKeywordAs())this.advance(),o=r,s=this.expectTemplateBindingKey(),a=!0;elseif(this.next!==Ie&&!this.peekKeywordLet()){varl=this.inputIndex,c=this.parsePipe(),h=this.input.substring(l-this.offset,this.inputIndex-this.offset);u=newG(c,h,this.location,this.errors)}if(n.push(newW(this.span(i),s,a,o,u)),this.peekKeywordAs()&&!a){varp=this.inputIndex;this.advance();varv=this.expectTemplateBindingKey();n.push(newW(this.span(p),v,!0,s,null))}this.optionalCharacter(59)||this.optionalCharacter(44)}while(this.index<this.tokens.length);returnnewUe(n,[],this.errors)}},{key:"error",value:function(e){vart=arguments.length>1&&void0!==arguments[1]?arguments[1]:null;this.errors.push(newx(e,this.input,this.locationText(t),this.location)),this.skip()}},{key:"locationText",value:function(){vare=arguments.length>0&&void0!==arguments[0]?arguments[0]:null;returnnull==e&&(e=this.index),e<this.tokens.length?"at column ".concat(this.tokens[e].index+1," in"):"at the end of the expression"}},{key:"skip",value:function(){for(vare=this.next;this.index<this.tokens.length&&!e.isCharacter(59)&&(this.rparensExpected<=0||!e.isCharacter(41))&&(this.rbracesExpected<=0||!e.isCharacter(125))&&(this.rbracketsExpected<=0||!e.isCharacter(93));)this.next.isError()&&this.errors.push(newx(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),e=this.next}},{key:"next",get:function(){returnthis.peek(0)}},{key:"inputIndex",get:function(){returnthis.index<this.tokens.length?this.next.index+this.offset:this.inputLength+this.offset}}]),e}(),qe=function(){functione(){s(this,e),this.errors=[]}returno(e,[{key:"visitImplicitReceiver",value:function(e,t){}},{key:"visitInterpolation",value:function(e,t){}},{key:"visitLiteralPrimitive",value:function(e,t){}},{key:"visitPropertyRead",value:function(e,t){}},{key:"visitPropertyWrite",value:function(e,t){}},{key:"visitSafePropertyRead",value:function(e,t){}},{key:"visitMethodCall",value:function(e,t){}},{key:"visitSafeMethodCall",value:function(e,t){}},{key:"visitFunctionCall",value:function(e,t){}},{key:"visitLiteralArray",value:function(e,t){this.visitAll(e.expressions)}},{key:"visitLiteralMap",value:function(e,t){this.visitAll(e.values)}},{key:"visitBinary",value:function(e,t){}},{key:"visitPrefixNot",value:function(e,t){}},{key:"visitNonNullAssert",value:function(e,t){}},{key:"visitConditional",value:function(e,t){}},{key:"visitPipe",value:function(e,t){this.errors.push("pipes")}},{key:"visitKeyedRead",value:function(e,t){}},{key:"visitKeyedWrite",value:function(e,t){}},{key:"visitAll",value:function(e){vart=this;returne.map(function(e){returne.visit(t)})}},{key:"visitChain",value:function(e,t){}},{key:"visitQuote",value:function(e,t){}}],[{key:"check",value:function(t){varn=newe;returnt.visit(n),n.errors}}]),e}(),De=Object.freeze({SplitInterpolation:We,TemplateBindingParseResult:Ue,Parser:ze,_ParseAST:$e}),He=i(function(e,t){Object.defineProperty(t,"__esModule",{value:!0});varn="angular-estree-parser",i="NgEstreeParser";functions(){returnnewDe.Parser(newje.Lexer)}functiona(e,t){varn=s(),i=u(e,n),r=i.astInput,a=i.comments,l=t(r,n),c=l.ast;returno(l.errors),{ast:c,comments:a}}functiono(e){if(0!==e.length){vart=p(e,1)[0].message;thrownewSyntaxError(t.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}}functionu(e,t){varn=t._commentStart(e);returnnull===n?{astInput:e,comments:[]}:{astInput:e.slice(0,n),comments:[{type:"Comment",value:e.slice(n+"//".length),span:{start:n,end:e.length}}]}}functionl(e,t){for(varn=e.start,i=e.end;i!==n&&/\s/.test(t[i-1]);)i--;for(;n!==i&&/\s/.test(t[n]);)n++;return{start:n,end:i}}functionc(e,t){for(varn=e.start,i=e.end;i!==t.length&&/\s/.test(t[i]);)i++;for(;0!==n&&/\s/.test(t[n-1]);)n--;return{start:n,end:i}}functionh(e,t){return"("===t[e.start-1]&&")"===t[e.end]?{start:e.start-1,end:e.end+1}:e}t.parseNgBinding=function(e){returna(e,function(e,t){returnt.parseBinding(e,n)})},t.parseNgSimpleBinding=function(e){returna(e,function(e,t){returnt.parseSimpleBinding(e,n)})},t.parseNgAction=function(e){returna(e,function(e,t){returnt.parseAction(e,n)})},t.parseNgTemplateBindings=function(e){vart=s().parseTemplateBindings(i,e,n),r=t.templateBindings;returno(t.errors),r},t.parseNgInterpolation=function(e){vart=s(),i=u(e,t),a=i.astInput,l=i.comments,c=t.parseInterpolation("{{"+a+"}}",n),h=c.ast;o(c.errors);varp=h.expressions[0];returnfunctione(t,n){if(t&&"object"===r(t)){if(Array.isArray(t))returnt.forEach(function(t){returne(t,n)});for(vari=Object.keys(t),s=0;s<i.length;s++){vara=i[s],o=t[a];"span"===a?n(o):e(o,n)}}}(p,function(e){e.start-="{{".length,e.end-="{{".length}),{ast:p,comments:l}},t.getNgType=function(e){returneinstanceofH.Binary?"Binary":einstanceofH.BindingPipe?"BindingPipe":einstanceofH.Chain?"Chain":einstanceofH.Conditional?"Conditional":einstanceofH.EmptyExpr?"EmptyExpr":einstanceofH.FunctionCall?"FunctionCall":einstanceofH.ImplicitReceiver?"ImplicitReceiver":einstanceofH.KeyedRead?"KeyedRead":einstanceofH.KeyedWrite?"KeyedWrite":einstanceofH.LiteralArray?"LiteralArray":einstanceofH.LiteralMap?"LiteralMap":einstanceofH.LiteralPrimitive?"LiteralPrimitive":einstanceofH.MethodCall?"MethodCall":einstanceofH.NonNullAssert?"NonNullAssert":einstanceofH.PrefixNot?"PrefixNot":einstanceofH.PropertyRead?"PropertyRead":einstanceofH.PropertyWrite?"PropertyWrite":einstanceofH.Quote?"Quote":einstanceofH.SafeMethodCall?"SafeMethodCall":einstanceofH.SafePropertyRead?"SafePropertyRead":e.type},t.fitSpans=function(e,t,n){for(vari=0,r={start:e.start,end:e.end};;){vars=c(r,t),a=h(s,t);if(s.start===a.start&&s.end===a.end)break;r.start=a.start,r.end=a.end,i++}return{hasParens:0!==(n?i-1:i),outerSpan:l(n?{start:r.start+1,end:r.end-1}:r,t),innerSpan:l(e,t)}},t.findFrontChar=function(e,t,n){for(vari=t;!e.test(n[i]);)i--;returni},t.findBackChar=function(e,t,n){for(vari=t;!e.test(n[i]);)i++;returni},t.toLowerCamelCase=function(e){returne.slice(0,1).toLowerCase()+e.slice(1)},t.getLast=function(e){return0===e.length?void0:e[e.length-1]}});n(He);varJe=i(function(e,t){functionn(e,t,n,i){if(!n){varr=e.start,s=e.end;return{start:r,end:s,loc:{start:t.locator.locationForIndex(r),end:t.locator.locationForIndex(s)}}}vara=He.fitSpans(e,t.text,i),o=a.outerSpan,u=a.innerSpan,l=a.hasParens;returnObject.assign({start:u.start,end:u.end,loc:{start:t.locator.locationForIndex(u.start),end:t.locator.locationForIndex(u.end)}},l&&{extra:{parenthesized:!0,parenStart:o.start,parenEnd:o.end}})}Object.defineProperty(t,"__esModule",{value:!0}),t.transform=function(e,i){vars=arguments.length>2&&void0!==arguments[2]&&arguments[2],a=He.getNgType(e);switch(a){case"Binary":varo=e.left,u=e.operation,l=e.right,c=l.span.start===l.span.end,h=o.span.start===o.span.end;if(c||h){varp=o.span.start===o.span.end?le(l):le(o);returnhe("UnaryExpression",{prefix:!0,argument:p,operator:c?"+":"-"},{start:e.span.start,end:ge(p)},{hasParentParens:s})}varv=le(o),f=le(l);returnhe("&&"===u||"||"===u?"LogicalExpression":"BinaryExpression",{left:v,right:f,operator:u},{start:xe(v),end:ge(f)},{hasParentParens:s});case"BindingPipe":vard=e.exp,y=e.name,x=e.args,g=le(d),k=fe(/\S/,fe(/\|/,ge(g))+1),m=he("Identifier",{name:y},{start:k,end:k+y.length}),w=x.map(le);returnhe("NGPipeExpression",{left:g,right:m,arguments:w},{start:xe(g),end:ge(0===w.length?m:He.getLast(w))},{hasParentParens:s});case"Chain":returnhe("NGChainedExpression",{expressions:e.expressions.map(le)},e.span,{hasParentParens:s});case"Comment":returnhe("CommentLine",{value:e.value},e.span,{processSpan:!1});case"Conditional":varC=e.condition,P=e.trueExp,b=e.falseExp,E=le(C),A=le(P),S=le(b);returnhe("ConditionalExpression",{test:E,consequent:A,alternate:S},{start:xe(E),end:ge(S)},{hasParentParens:s});case"EmptyExpr":returnhe("NGEmptyExpression",{},e.span,{hasParentParens:s});case"FunctionCall":varN=e.target,O=e.args,I=1===O.length?[ce(O[0])]:O.map(le),L=le(N);returnhe("CallExpression",{callee:L,arguments:I},{start:xe(L),end:e.span.end},{hasParentParens:s});case"KeyedRead":varM=e.obj,_=e.key,K=le(M);returnhe("MemberExpression",{computed:!0,object:K,property:le(_)},{start:xe(K),end:e.span.end},{hasParentParens:s});case"LiteralArray":returnhe("ArrayExpression",{elements:e.expressions.map(le)},e.span,{hasParentParens:s});case"LiteralMap":varT=e.keys,B=e.values.map(function(e){returnle(e)});returnhe("ObjectExpression",{properties:T.map(function(t,n){vari=t.key,r=t.quoted,s=B[n],a={start:fe(/\S/,0===n?e.span.start+1:fe(/,/,ge(B[n-1]))+1),end:ve(/\S/,ve(/:/,xe(s)-1)-1)+1},o=r?he("StringLiteral",{value:i},a):he("Identifier",{name:i},a);returnhe("ObjectProperty",{key:o,value:s,method:!1,shorthand:!1,computed:!1},{start:xe(o),end:ge(s)})})},e.span,{hasParentParens:s});case"LiteralPrimitive":varR=e.value;switch(r(R)){case"boolean":returnhe("BooleanLiteral",{value:R},e.span,{hasParentParens:s});case"number":returnhe("NumericLiteral",{value:R},e.span,{hasParentParens:s});case"object":returnhe("NullLiteral",{},e.span,{hasParentParens:s});case"string":returnhe("StringLiteral",{value:R},e.span,{hasParentParens:s});case"undefined":returnhe("Identifier",{name:"undefined"},e.span,{hasParentParens:s});default:thrownewError("Unexpected LiteralPrimitive value type ".concat(r(R)))}case"MethodCall":case"SafeMethodCall":varj="SafeMethodCall"===a,F=e.receiver,V=e.name,G=e.args,W=1===G.length?[ce(G[0])]:G.map(le),U=ve(/\S/,ve(/\(/,(0===W.length?ve(/\)/,e.span.end-1):xe(W[0]))-1)-1)+1,Q=pe(F,he("Identifier",{name:V},{start:U-V.length,end:U}),{computed:!1,optional:j}),z=de(Q);returnhe(j||z?"OptionalCallExpression":"CallExpression",{callee:Q,arguments:W},{start:xe(Q),end:e.span.end},{hasParentParens:s});case"NonNullAssert":var$=le(e.expression);returnhe("TSNonNullExpression",{expression:$},{start:xe($),end:e.span.end},{hasParentParens:s});case"PrefixNot":varq=le(e.expression);returnhe("UnaryExpression",{prefix:!0,operator:"!",argument:q},{start:e.span.start,end:ge(q)},{hasParentParens:s});case"PropertyRead":case"SafePropertyRead":varD="SafePropertyRead"===a,H=e.receiver,J=e.name,X=ve(/\S/,e.span.end-1)+1;returnpe(H,he("Identifier",{name:J},{start:X-J.length,end:X},H.span.start===H.span.end?{hasParentParens:s}:{}),{computed:!1,optional:D},{hasParentParens:s});case"KeyedWrite":varY=e.obj,Z=e.key,ee=e.value,te=le(Z),ne=le(ee),ie=pe(Y,te,{computed:!0,optional:!1},{end:fe(/\]/,ge(te))+1});returnhe("AssignmentExpression",{left:ie,operator:"=",right:ne},{start:xe(ie),end:ge(ne)},{hasParentParens:s});case"PropertyWrite":varre=e.receiver,se=e.name,ae=le(e.value),oe=ve(/\S/,ve(/=/,xe(ae)-1)-1)+1,ue=pe(re,he("Identifier",{name:se},{start:oe-se.length,end:oe}),{computed:!1,optional:!1});returnhe("AssignmentExpression",{left:ue,operator:"=",right:ae},{start:xe(ue),end:ge(ae)},{hasParentParens:s});case"Quote":returnhe("NGQuotedExpression",{prefix:e.prefix,value:e.uninterpretedExpression},e.span,{hasParentParens:s});default:thrownewError("Unexpected node ".concat(a))}functionle(e){returnt.transform(e,i)}functionce(e){returnt.transform(e,i,!0)}functionhe(e,t,r){vars=arguments.length>3&&void0!==arguments[3]?arguments[3]:{},a=s.processSpan,o=void0===a||a,u=s.hasParentParens,l=void0!==u&&u,c=Object.assign({type:e},n(r,i,o,l),t);switch(e){case"Identifier":varh=c;h.loc.identifierName=h.name;break;case"NumericLiteral":varp=c;p.extra=Object.assign({},p.extra,{raw:i.text.slice(p.start,p.end),rawValue:p.value});break;case"StringLiteral":varv=c;v.extra=Object.assign({},v.extra,{raw:i.text.slice(v.start,v.end),rawValue:v.value})}returnc}functionpe(e,t,n){vari=arguments.length>3&&void0!==arguments[3]?arguments[3]:{},r=i.end,s=void0===r?ge(t):r,a=i.hasParentParens,o=void0!==a&&a;if(e.span.start===e.span.end)returnt;varu="ImplicitReceiver"===He.getNgType(e)?he("ThisExpression",{},e.span):le(e),l=de(u);returnhe(n.optional||l?"OptionalMemberExpression":"MemberExpression",Object.assign({object:u,property:t,computed:n.computed},n.optional?{optional:!0}:l?{optional:!1}:null),{start:xe(u),end:s},{hasParentParens:o})}functionve(e,t){returnHe.findFrontChar(e,t,i.text)}functionfe(e,t){returnHe.findBackChar(e,t,i.text)}functionde(e){return("OptionalCallExpression"===e.type||"OptionalMemberExpression"===e.type)&&!ye(e)}functionye(e){returne.extra&&e.extra.parenthesized}functionxe(e){returnye(e)?e.extra.parenStart:e.start}functionge(e){returnye(e)?e.extra.parenEnd:e.end}},t.transformSpan=n});n(Je);varXe=i(function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.transformTemplateBindings=function(e,t){for(varn=p(e,1)[0],i=n.key,r=0===t.text.slice(n.span.start,n.span.end).trim().length?e.slice(1):e,s=[],a=null,o=0;o<r.length;o++){varu=r[o],l=u.key,c=u.keyIsVar,h=u.name,v=u.span;a&&a.key===h&&c&&/^as\s$/.test(t.text.slice(v.start,v.start+3))?function(){vare=x(He.findBackChar(/\S/,v.start+3,t.text),l),n=y("NGMicrosyntaxKey",{name:l},e),i=function(e,n){returnObject.assign({},e,Je.transformSpan({start:e.start,end:n},t))},r=function(e){returnObject.assign({},i(e,n.end),{alias:n})},a=s.pop();if("NGMicrosyntaxExpression"===a.type)s.push(r(a));else{if("NGMicrosyntaxKeyedExpression"!==a.type)thrownewError("Unexpected type ".concat(a.type));varo=r(a.expression);s.push(i(Object.assign({},a,{expression:o}),o.end))}}():s.push(f(u,o)),a=u}returny("NGMicrosyntax",{body:s},0===s.length?e[0].span:{start:s[0].start,end:s[s.length-1].end});functionf(e,n){vari=e.key,r=e.keyIsVar,s=e.name,a=e.expression,o=e.span;if(r){if(/^let\s$/.test(t.text.slice(o.start,o.start+4))){varu=x(He.findBackChar(/\S/,o.start+4,t.text),i);returny("NGMicrosyntaxLet",{key:y("NGMicrosyntaxKey",{name:i},u),value:0===t.text.slice(u.end,o.end).trim().length?null:y("NGMicrosyntaxKey",{name:s},{start:He.findBackChar(/=/,u.end,t.text)+1,end:o.end})},o)}varl=x(o.start,s);returny("NGMicrosyntaxAs",{key:y("NGMicrosyntaxKey",{name:s},l),alias:y("NGMicrosyntaxKey",{name:i},{start:He.findBackChar(/\S/,l.end,t.text)+"as".length,end:o.end})},o)}if(a){if(0===n)returny("NGMicrosyntaxExpression",{expression:d(a.ast),alias:null},o);varc=d(a.ast),h=c.start,p=c.end,v=g(i);returny("NGMicrosyntaxKeyedExpression",{key:y("NGMicrosyntaxKey",{name:v},x(o.start,v)),expression:y("NGMicrosyntaxExpression",{expression:c,alias:null},{start:h,end:p})},o)}returny("NGMicrosyntaxKey",{name:g(i)},o)}functiond(e){returnJe.transform(e,t)}functiony(e,n,i){varr=!(arguments.length>3&&void0!==arguments[3])||arguments[3];returnObject.assign({type:e},Je.transformSpan(i,t,r,!1),n)}functionx(e,n){if("'"!==t.text[e]&&'"'!==t.text[e])return{start:e,end:e+n.length};for(vari=t.text[e],r=0,s=e+1;;){vara=t.text[s];if(a===i&&r%2==0)return{start:e,end:s+1};"\\"===a?r++:r=0,s++}}function g(e){return He.toLowerCamelCase(e.slice(i.length))}}});n(Xe);var Ye=i(function(e,t){function n(e,t){var n=t(e),i=n.ast,r=n.comments,s=new y.Context(e),a=function(e){return Je.transform(e,s)},o=a(i);return o.comments=r.map(a),o}Object.defineProperty(t,"__esModule",{value:!0}),t.parseBinding=function(e){return n(e,He.parseNgBinding)},t.parseSimpleBinding=function(e){return n(e,He.parseNgSimpleBinding)},t.parseInterpolation=function(e){return n(e,He.parseNgInterpolation)},t.parseAction=function(e){return n(e,He.parseNgAction)},t.parseTemplateBindings=function(e){return Xe.transformTemplateBindings(He.parseNgTemplateBindings(e),new y.Context(e))}});function Ze(e){return Object.assign({astFormat:"estree",parse:function(t,n,i){var r=e(t,Ye);return{type:"NGRoot",node:"__ng_action"===i.parser&&"NGChainedExpression"!==r.type?Object.assign({},r,{type:"NGChainedExpression",expressions:[r]}):r}}},t)}return n(Ye),{parsers:{__ng_action:Ze(function(e,t){return t.parseAction(e)}),__ng_binding:Ze(function(e,t){return t.parseBinding(e)}),__ng_interpolation:Ze(function(e,t){return t.parseInterpolation(e)}),__ng_directive:Ze(function(e,t){return t.parseTemplateBindings(e)})}}});