UNPKG

@angular/compiler

Version:

Angular - the compiler library

19 lines 583 kB
/** * @license Angular v5.0.2 * (c) 2010-2017 Google, Inc. https://angular.io/ * License: MIT */ !function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&define.amd?define("@angular/compiler",["exports"],factory):factory((global.ng=global.ng||{},global.ng.compiler={}))}(this,function(exports){"use strict";function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}/** * @license Angular v5.0.2 * (c) 2010-2017 Google, Inc. https://angular.io/ * License: MIT */ function Inject(){}function Attribute(){}function Query(){}function Directive(){}function Component(){}function Pipe(){}function Input(){}function Output(){}function HostBinding(){}function HostListener(){}function NgModule(){}function ModuleWithProviders(){}function SchemaMetadata(){}function MetadataFactory(){}function makeMetadataFactory(name,props){var factory=function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i]=arguments[_i];var values=props?props.apply(void 0,args):{};return __assign({ngMetadataName:name},values)};return factory.isTypeOf=function(obj){return obj&&obj.ngMetadataName===name},factory.ngMetadataName=name,factory}function Route(){}function dashCaseToCamelCase(input){return input.replace(DASH_CASE_REGEXP,function(){for(var m=[],_i=0;_i<arguments.length;_i++)m[_i]=arguments[_i];return m[1].toUpperCase()})}function splitAtColon(input,defaultValues){return _splitAt(input,":",defaultValues)}function splitAtPeriod(input,defaultValues){return _splitAt(input,".",defaultValues)}function _splitAt(input,character,defaultValues){var characterIndex=input.indexOf(character);return-1==characterIndex?defaultValues:[input.slice(0,characterIndex).trim(),input.slice(characterIndex+1).trim()]}function visitValue(value,visitor,context){return Array.isArray(value)?visitor.visitArray(value,context):isStrictStringMap(value)?visitor.visitStringMap(value,context):null==value||"string"==typeof value||"number"==typeof value||"boolean"==typeof value?visitor.visitPrimitive(value,context):visitor.visitOther(value,context)}function isDefined(val){return null!==val&&void 0!==val}function noUndefined(val){return void 0===val?null:val}function syntaxError(msg,parseErrors){var error=Error(msg);return error[ERROR_SYNTAX_ERROR]=!0,parseErrors&&(error[ERROR_PARSE_ERRORS]=parseErrors),error}function isSyntaxError(error){return error[ERROR_SYNTAX_ERROR]}function getParseErrors(error){return error[ERROR_PARSE_ERRORS]||[]}function escapeRegExp(s){return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function isStrictStringMap(obj){return"object"==typeof obj&&null!==obj&&Object.getPrototypeOf(obj)===STRING_MAP_PROTO}function utf8Encode(str){for(var encoded="",index=0;index<str.length;index++){var codePoint=str.charCodeAt(index);if(codePoint>=55296&&codePoint<=56319&&str.length>index+1){var low=str.charCodeAt(index+1);low>=56320&&low<=57343&&(index++,codePoint=(codePoint-55296<<10)+low-56320+65536)}codePoint<=127?encoded+=String.fromCharCode(codePoint):codePoint<=2047?encoded+=String.fromCharCode(codePoint>>6&31|192,63&codePoint|128):codePoint<=65535?encoded+=String.fromCharCode(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128):codePoint<=2097151&&(encoded+=String.fromCharCode(codePoint>>18&7|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128))}return encoded}function stringify(token){if("string"==typeof token)return token;if(token instanceof Array)return"["+token.map(stringify).join(", ")+"]";if(null==token)return""+token;if(token.overriddenName)return""+token.overriddenName;if(token.name)return""+token.name;var res=token.toString();if(null==res)return""+res;var newLineIndex=res.indexOf("\n");return-1===newLineIndex?res:res.substring(0,newLineIndex)}function resolveForwardRef(type){return"function"==typeof type&&type.hasOwnProperty("__forward_ref__")?type():type}function isPromise(obj){return!!obj&&"function"==typeof obj.then}function templateVisitAll(visitor,asts,context){void 0===context&&(context=null);var result=[],visit=visitor.visit?function(ast){return visitor.visit(ast,context)||ast.visit(visitor,context)}:function(ast){return ast.visit(visitor,context)};return asts.forEach(function(ast){var astResult=visit(ast);astResult&&result.push(astResult)}),result}function preserveWhitespacesDefault(preserveWhitespacesOption,defaultSetting){return void 0===defaultSetting&&(defaultSetting=!0),null===preserveWhitespacesOption?defaultSetting:preserveWhitespacesOption}function _sanitizeIdentifier(name){return name.replace(/\W/g,"_")}function identifierName(compileIdentifier){if(!compileIdentifier||!compileIdentifier.reference)return null;var ref=compileIdentifier.reference;if(ref instanceof StaticSymbol)return ref.name;if(ref.__anonymousType)return ref.__anonymousType;var identifier=stringify(ref);return identifier.indexOf("(")>=0?(identifier="anonymous_"+_anonymousTypeIndex++,ref.__anonymousType=identifier):identifier=_sanitizeIdentifier(identifier),identifier}function identifierModuleUrl(compileIdentifier){var ref=compileIdentifier.reference;return ref instanceof StaticSymbol?ref.filePath:"./"+stringify(ref)}function viewClassName(compType,embeddedTemplateIndex){return"View_"+identifierName({reference:compType})+"_"+embeddedTemplateIndex}function rendererTypeName(compType){return"RenderType_"+identifierName({reference:compType})}function hostViewClassName(compType){return"HostView_"+identifierName({reference:compType})}function componentFactoryName(compType){return identifierName({reference:compType})+"NgFactory"}function tokenName(token){return null!=token.value?_sanitizeIdentifier(token.value):identifierName(token.identifier)}function tokenReference(token){return null!=token.identifier?token.identifier.reference:token.value}function _normalizeArray(obj){return obj||[]}function flatten(list){return list.reduce(function(flat,item){var flatItem=Array.isArray(item)?flatten(item):item;return flat.concat(flatItem)},[])}function jitSourceUrl(url){return url.replace(/(\w+:\/\/[\w:-]+)?(\/+)?/,"ng:///")}function templateSourceUrl(ngModuleType,compMeta,templateMeta){var url;return url=templateMeta.isInline?compMeta.type.reference instanceof StaticSymbol?compMeta.type.reference.filePath+"."+compMeta.type.reference.name+".html":identifierName(ngModuleType)+"/"+identifierName(compMeta.type)+".html":templateMeta.templateUrl,compMeta.type.reference instanceof StaticSymbol?url:jitSourceUrl(url)}function sharedStylesheetJitUrl(meta,id){var pathParts=meta.moduleUrl.split(/\/\\/g);return jitSourceUrl("css/"+id+pathParts[pathParts.length-1]+".ngstyle.js")}function ngModuleJitUrl(moduleMeta){return jitSourceUrl(identifierName(moduleMeta.type)+"/module.ngfactory.js")}function templateJitUrl(ngModuleType,compMeta){return jitSourceUrl(identifierName(ngModuleType)+"/"+identifierName(compMeta.type)+".ngfactory.js")}function visitAll(visitor,nodes,context){void 0===context&&(context=null);var result=[],visit=visitor.visit?function(ast){return visitor.visit(ast,context)||ast.visit(visitor,context)}:function(ast){return ast.visit(visitor,context)};return nodes.forEach(function(ast){var astResult=visit(ast);astResult&&result.push(astResult)}),result}function spanOf(ast){var start=ast.sourceSpan.start.offset,end=ast.sourceSpan.end.offset;return ast instanceof Element&&(ast.endSourceSpan?end=ast.endSourceSpan.end.offset:ast.children&&ast.children.length&&(end=spanOf(ast.children[ast.children.length-1]).end)),{start:start,end:end}}function findNode(nodes,position){var path=[];return visitAll(new(function(_super){function class_1(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(class_1,_super),class_1.prototype.visit=function(ast,context){var span=spanOf(ast);if(!(span.start<=position&&position<span.end))return!0;path.push(ast)},class_1}(RecursiveVisitor)),nodes),new AstPath(path,position)}function assertArrayOfStrings(identifier,value){if(null!=value){if(!Array.isArray(value))throw new Error("Expected '"+identifier+"' to be an array of strings.");for(var i=0;i<value.length;i+=1)if("string"!=typeof value[i])throw new Error("Expected '"+identifier+"' to be an array of strings.")}}function assertInterpolationSymbols(identifier,value){if(!(null==value||Array.isArray(value)&&2==value.length))throw new Error("Expected '"+identifier+"' to be an array, [start, end].");if(null!=value){var start_1=value[0],end_1=value[1];INTERPOLATION_BLACKLIST_REGEXPS.forEach(function(regexp){if(regexp.test(start_1)||regexp.test(end_1))throw new Error("['"+start_1+"', '"+end_1+"'] contains unusable interpolation symbol.")})}}function isStyleUrlResolvable(url){if(null==url||0===url.length||"/"==url[0])return!1;var schemeMatch=url.match(URL_WITH_SCHEMA_REGEXP);return null===schemeMatch||"package"==schemeMatch[1]||"asset"==schemeMatch[1]}function extractStyleUrls(resolver,baseUrl,cssText){var foundUrls=[],modifiedCssText=cssText.replace(CSS_STRIPPABLE_COMMENT_REGEXP,"").replace(CSS_IMPORT_REGEXP,function(){for(var m=[],_i=0;_i<arguments.length;_i++)m[_i]=arguments[_i];var url=m[1]||m[2];return isStyleUrlResolvable(url)?(foundUrls.push(resolver.resolve(baseUrl,url)),""):m[0]});return new StyleWithImports(modifiedCssText,foundUrls)}function splitNsName(elementName){if(":"!=elementName[0])return[null,elementName];var colonIndex=elementName.indexOf(":",1);if(-1==colonIndex)throw new Error('Unsupported format "'+elementName+'" expecting ":namespace:name"');return[elementName.slice(1,colonIndex),elementName.slice(colonIndex+1)]}function isNgContainer(tagName){return"ng-container"===splitNsName(tagName)[1]}function isNgContent(tagName){return"ng-content"===splitNsName(tagName)[1]}function isNgTemplate(tagName){return"ng-template"===splitNsName(tagName)[1]}function getNsPrefix(fullName){return null===fullName?null:splitNsName(fullName)[0]}function mergeNsAndName(prefix,localName){return prefix?":"+prefix+":"+localName:localName}function preparseElement(ast){var selectAttr=null,hrefAttr=null,relAttr=null,nonBindable=!1,projectAs=null;ast.attrs.forEach(function(attr){var lcAttrName=attr.name.toLowerCase();lcAttrName==NG_CONTENT_SELECT_ATTR?selectAttr=attr.value:lcAttrName==LINK_STYLE_HREF_ATTR?hrefAttr=attr.value:lcAttrName==LINK_STYLE_REL_ATTR?relAttr=attr.value:attr.name==NG_NON_BINDABLE_ATTR?nonBindable=!0:attr.name==NG_PROJECT_AS&&attr.value.length>0&&(projectAs=attr.value)}),selectAttr=normalizeNgContentSelect(selectAttr);var nodeName=ast.name.toLowerCase(),type=PreparsedElementType.OTHER;return isNgContent(nodeName)?type=PreparsedElementType.NG_CONTENT:nodeName==STYLE_ELEMENT?type=PreparsedElementType.STYLE:nodeName==SCRIPT_ELEMENT?type=PreparsedElementType.SCRIPT:nodeName==LINK_ELEMENT&&relAttr==LINK_STYLE_REL_VALUE&&(type=PreparsedElementType.STYLESHEET),new PreparsedElement(type,selectAttr,hrefAttr,nonBindable,projectAs)}function normalizeNgContentSelect(selectAttr){return null===selectAttr||0===selectAttr.length?"*":selectAttr}function isDirectiveMetadata(type){return createDirective.isTypeOf(type)||createComponent.isTypeOf(type)}function findLast(arr,condition){for(var i=arr.length-1;i>=0;i--)if(condition(arr[i]))return arr[i];return null}function isWhitespace(code){return code>=$TAB&&code<=$SPACE||code==$NBSP}function isDigit(code){return $0<=code&&code<=$9}function isAsciiLetter(code){return code>=$a&&code<=$z||code>=$A&&code<=$Z}function isAsciiHexDigit(code){return code>=$a&&code<=$f||code>=$A&&code<=$F||isDigit(code)}function newCharacterToken(index,code){return new Token(index,TokenType.Character,code,String.fromCharCode(code))}function newIdentifierToken(index,text){return new Token(index,TokenType.Identifier,0,text)}function newKeywordToken(index,text){return new Token(index,TokenType.Keyword,0,text)}function newOperatorToken(index,text){return new Token(index,TokenType.Operator,0,text)}function newStringToken(index,text){return new Token(index,TokenType.String,0,text)}function newNumberToken(index,n){return new Token(index,TokenType.Number,n,"")}function newErrorToken(index,message){return new Token(index,TokenType.Error,0,message)}function isIdentifierStart(code){return $a<=code&&code<=$z||$A<=code&&code<=$Z||code==$_||code==$$}function isIdentifier(input){if(0==input.length)return!1;var scanner=new _Scanner(input);if(!isIdentifierStart(scanner.peek))return!1;for(scanner.advance();scanner.peek!==$EOF;){if(!isIdentifierPart(scanner.peek))return!1;scanner.advance()}return!0}function isIdentifierPart(code){return isAsciiLetter(code)||isDigit(code)||code==$_||code==$$}function isExponentStart(code){return code==$e||code==$E}function isExponentSign(code){return code==$MINUS||code==$PLUS}function isQuote(code){return code===$SQ||code===$DQ||code===$BT}function unescape(code){switch(code){case $n:return $LF;case $f:return $FF;case $r:return $CR;case $t:return $TAB;case $v:return $VTAB;default:return code}}function parseIntAutoRadix(text){var result=parseInt(text);if(isNaN(result))throw new Error("Invalid integer literal when parsing "+text);return result}function visitAstChildren(ast,visitor,context){function visit(ast){visitor.visit&&visitor.visit(ast,context)||ast.visit(visitor,context)}function visitAll(asts){asts.forEach(visit)}ast.visit({visitBinary:function(ast){visit(ast.left),visit(ast.right)},visitChain:function(ast){visitAll(ast.expressions)},visitConditional:function(ast){visit(ast.condition),visit(ast.trueExp),visit(ast.falseExp)},visitFunctionCall:function(ast){ast.target&&visit(ast.target),visitAll(ast.args)},visitImplicitReceiver:function(ast){},visitInterpolation:function(ast){visitAll(ast.expressions)},visitKeyedRead:function(ast){visit(ast.obj),visit(ast.key)},visitKeyedWrite:function(ast){visit(ast.obj),visit(ast.key),visit(ast.obj)},visitLiteralArray:function(ast){visitAll(ast.expressions)},visitLiteralMap:function(ast){},visitLiteralPrimitive:function(ast){},visitMethodCall:function(ast){visit(ast.receiver),visitAll(ast.args)},visitPipe:function(ast){visit(ast.exp),visitAll(ast.args)},visitPrefixNot:function(ast){visit(ast.expression)},visitNonNullAssert:function(ast){visit(ast.expression)},visitPropertyRead:function(ast){visit(ast.receiver)},visitPropertyWrite:function(ast){visit(ast.receiver),visit(ast.value)},visitQuote:function(ast){},visitSafeMethodCall:function(ast){visit(ast.receiver),visitAll(ast.args)},visitSafePropertyRead:function(ast){visit(ast.receiver)}})}function _createInterpolateRegExp(config){var pattern=escapeRegExp(config.start)+"([\\s\\S]*?)"+escapeRegExp(config.end);return new RegExp(pattern,"g")}function typeSourceSpan(kind,type){var moduleUrl=identifierModuleUrl(type),sourceFileName=null!=moduleUrl?"in "+kind+" "+identifierName(type)+" in "+moduleUrl:"in "+kind+" "+identifierName(type),sourceFile=new ParseSourceFile("",sourceFileName);return new ParseSourceSpan(new ParseLocation(sourceFile,-1,-1,-1),new ParseLocation(sourceFile,-1,-1,-1))}function tokenize(source,url,getTagDefinition,tokenizeExpansionForms,interpolationConfig){return void 0===tokenizeExpansionForms&&(tokenizeExpansionForms=!1),void 0===interpolationConfig&&(interpolationConfig=DEFAULT_INTERPOLATION_CONFIG),new _Tokenizer(new ParseSourceFile(source,url),getTagDefinition,tokenizeExpansionForms,interpolationConfig).tokenize()}function _unexpectedCharacterErrorMsg(charCode){return'Unexpected character "'+(charCode===$EOF?"EOF":String.fromCharCode(charCode))+'"'}function _unknownEntityErrorMsg(entitySrc){return'Unknown entity "'+entitySrc+'" - use the "&#<decimal>;" or "&#x<hex>;" syntax'}function isNotWhitespace(code){return!isWhitespace(code)||code===$EOF}function isNameEnd(code){return isWhitespace(code)||code===$GT||code===$SLASH||code===$SQ||code===$DQ||code===$EQ}function isPrefixEnd(code){return(code<$a||$z<code)&&(code<$A||$Z<code)&&(code<$0||code>$9)}function isDigitEntityEnd(code){return code==$SEMICOLON||code==$EOF||!isAsciiHexDigit(code)}function isNamedEntityEnd(code){return code==$SEMICOLON||code==$EOF||!isAsciiLetter(code)}function isExpansionFormStart(input,offset,interpolationConfig){var isInterpolationStart=!!interpolationConfig&&input.indexOf(interpolationConfig.start,offset)==offset;return input.charCodeAt(offset)==$LBRACE&&!isInterpolationStart}function isExpansionCaseStart(peek){return peek===$EQ||isAsciiLetter(peek)||isDigit(peek)}function compareCharCodeCaseInsensitive(code1,code2){return toUpperCaseCharCode(code1)==toUpperCaseCharCode(code2)}function toUpperCaseCharCode(code){return code>=$a&&code<=$z?code-$a+$A:code}function mergeTextTokens(srcTokens){for(var dstTokens=[],lastDstToken=void 0,i=0;i<srcTokens.length;i++){var token=srcTokens[i];lastDstToken&&lastDstToken.type==TokenType$1.TEXT&&token.type==TokenType$1.TEXT?(lastDstToken.parts[0]+=token.parts[0],lastDstToken.sourceSpan.end=token.sourceSpan.end):(lastDstToken=token,dstTokens.push(lastDstToken))}return dstTokens}function lastOnStack(stack,element){return stack.length>0&&stack[stack.length-1]===element}/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ function digest(message){return message.id||sha1(serializeNodes(message.nodes).join("")+"["+message.meaning+"]")}function decimalDigest(message){if(message.id)return message.id;var visitor=new _SerializerIgnoreIcuExpVisitor;return computeMsgId(message.nodes.map(function(a){return a.visit(visitor,null)}).join(""),message.meaning)}function serializeNodes(nodes){return nodes.map(function(a){return a.visit(serializerVisitor,null)})}function sha1(str){var utf8=utf8Encode(str),words32=stringToWords32(utf8,Endian.Big),len=8*utf8.length,w=new Array(80),_a=[1732584193,4023233417,2562383102,271733878,3285377520],a=_a[0],b=_a[1],c=_a[2],d=_a[3],e=_a[4];words32[len>>5]|=128<<24-len%32,words32[15+(len+64>>9<<4)]=len;for(var i=0;i<words32.length;i+=16){for(var _b=[a,b,c,d,e],h0=_b[0],h1=_b[1],h2=_b[2],h3=_b[3],h4=_b[4],j=0;j<80;j++){w[j]=j<16?words32[i+j]:rol32(w[j-3]^w[j-8]^w[j-14]^w[j-16],1);var _c=fk(j,b,c,d),f=_c[0],k=_c[1],temp=[rol32(a,5),f,e,k,w[j]].reduce(add32);_d=[d,c,rol32(b,30),a,temp],e=_d[0],d=_d[1],c=_d[2],b=_d[3],a=_d[4]}_e=[add32(a,h0),add32(b,h1),add32(c,h2),add32(d,h3),add32(e,h4)],a=_e[0],b=_e[1],c=_e[2],d=_e[3],e=_e[4]}return byteStringToHexString(words32ToByteString([a,b,c,d,e]));var _d,_e}function fk(index,b,c,d){return index<20?[b&c|~b&d,1518500249]:index<40?[b^c^d,1859775393]:index<60?[b&c|b&d|c&d,2400959708]:[b^c^d,3395469782]}function fingerprint(str){var utf8=utf8Encode(str),_a=[hash32(utf8,0),hash32(utf8,102072)],hi=_a[0],lo=_a[1];return 0!=hi||0!=lo&&1!=lo||(hi^=319790063,lo^=-1801410264),[hi,lo]}function computeMsgId(msg,meaning){var _a=fingerprint(msg),hi=_a[0],lo=_a[1];if(meaning){var _b=fingerprint(meaning),him=_b[0],lom=_b[1];_c=add64(rol64([hi,lo],1),[him,lom]),hi=_c[0],lo=_c[1]}return byteStringToDecString(words32ToByteString([2147483647&hi,lo]));var _c}function hash32(str,c){var i,_a=[2654435769,2654435769],a=_a[0],b=_a[1],len=str.length;for(i=0;i+12<=len;i+=12)a=add32(a,wordAt(str,i,Endian.Little)),b=add32(b,wordAt(str,i+4,Endian.Little)),c=add32(c,wordAt(str,i+8,Endian.Little)),_b=mix([a,b,c]),a=_b[0],b=_b[1],c=_b[2];return a=add32(a,wordAt(str,i,Endian.Little)),b=add32(b,wordAt(str,i+4,Endian.Little)),c=add32(c,len),c=add32(c,wordAt(str,i+8,Endian.Little)<<8),mix([a,b,c])[2];var _b}function mix(_a){var a=_a[0],b=_a[1],c=_a[2];return a=sub32(a,b),a=sub32(a,c),a^=c>>>13,b=sub32(b,c),b=sub32(b,a),b^=a<<8,c=sub32(c,a),c=sub32(c,b),c^=b>>>13,a=sub32(a,b),a=sub32(a,c),a^=c>>>12,b=sub32(b,c),b=sub32(b,a),b^=a<<16,c=sub32(c,a),c=sub32(c,b),c^=b>>>5,a=sub32(a,b),a=sub32(a,c),a^=c>>>3,b=sub32(b,c),b=sub32(b,a),b^=a<<10,c=sub32(c,a),c=sub32(c,b),c^=b>>>15,[a,b,c]}function add32(a,b){return add32to64(a,b)[1]}function add32to64(a,b){var low=(65535&a)+(65535&b),high=(a>>>16)+(b>>>16)+(low>>>16);return[high>>>16,high<<16|65535&low]}function add64(_a,_b){var ah=_a[0],al=_a[1],bh=_b[0],bl=_b[1],_c=add32to64(al,bl),carry=_c[0],l=_c[1];return[add32(add32(ah,bh),carry),l]}function sub32(a,b){var low=(65535&a)-(65535&b);return(a>>16)-(b>>16)+(low>>16)<<16|65535&low}function rol32(a,count){return a<<count|a>>>32-count}function rol64(_a,count){var hi=_a[0],lo=_a[1];return[hi<<count|lo>>>32-count,lo<<count|hi>>>32-count]}function stringToWords32(str,endian){for(var words32=Array(str.length+3>>>2),i=0;i<words32.length;i++)words32[i]=wordAt(str,4*i,endian);return words32}function byteAt(str,index){return index>=str.length?0:255&str.charCodeAt(index)}function wordAt(str,index,endian){var word=0;if(endian===Endian.Big)for(var i=0;i<4;i++)word+=byteAt(str,index+i)<<24-8*i;else for(var i=0;i<4;i++)word+=byteAt(str,index+i)<<8*i;return word}function words32ToByteString(words32){return words32.reduce(function(str,word){return str+word32ToByteString(word)},"")}function word32ToByteString(word){for(var str="",i=0;i<4;i++)str+=String.fromCharCode(word>>>8*(3-i)&255);return str}function byteStringToHexString(str){for(var hex="",i=0;i<str.length;i++){var b=byteAt(str,i);hex+=(b>>>4).toString(16)+(15&b).toString(16)}return hex.toLowerCase()}function byteStringToDecString(str){for(var decimal="",toThePower="1",i=str.length-1;i>=0;i--)decimal=addBigInt(decimal,numberTimesBigInt(byteAt(str,i),toThePower)),toThePower=numberTimesBigInt(256,toThePower);return decimal.split("").reverse().join("")}function addBigInt(x,y){for(var sum="",len=Math.max(x.length,y.length),i=0,carry=0;i<len||carry;i++){var tmpSum=carry+ +(x[i]||0)+ +(y[i]||0);tmpSum>=10?(carry=1,sum+=tmpSum-10):(carry=0,sum+=tmpSum)}return sum}function numberTimesBigInt(num,b){for(var product="",bToThePower=b;0!==num;num>>>=1)1&num&&(product=addBigInt(product,bToThePower)),bToThePower=addBigInt(bToThePower,bToThePower);return product}function getHtmlTagDefinition(tagName){return TAG_DEFINITIONS[tagName.toLowerCase()]||_DEFAULT_TAG_DEFINITION}function createI18nMessageFactory(interpolationConfig){var visitor=new _I18nVisitor(_expParser,interpolationConfig);return function(nodes,meaning,description,id){return visitor.toI18nMessage(nodes,meaning,description,id)}}function _extractPlaceholderName(input){return input.split(_CUSTOM_PH_EXP)[2]}function extractMessages(nodes,interpolationConfig,implicitTags,implicitAttrs){return new _Visitor(implicitTags,implicitAttrs).extract(nodes,interpolationConfig)}function mergeTranslations(nodes,translations,interpolationConfig,implicitTags,implicitAttrs){return new _Visitor(implicitTags,implicitAttrs).merge(nodes,translations,interpolationConfig)}function _isOpeningComment(n){return!!(n instanceof Comment&&n.value&&n.value.startsWith("i18n"))}function _isClosingComment(n){return!!(n instanceof Comment&&n.value&&"/i18n"===n.value)}function _getI18nAttr(p){return p.attrs.find(function(attr){return attr.name===_I18N_ATTR})||null}function _parseMessageMeta(i18n){if(!i18n)return{meaning:"",description:"",id:""};var idIndex=i18n.indexOf(ID_SEPARATOR),descIndex=i18n.indexOf(MEANING_SEPARATOR),_a=idIndex>-1?[i18n.slice(0,idIndex),i18n.slice(idIndex+2)]:[i18n,""],meaningAndDesc=_a[0],id=_a[1],_b=descIndex>-1?[meaningAndDesc.slice(0,descIndex),meaningAndDesc.slice(descIndex+1)]:["",meaningAndDesc];return{meaning:_b[0],description:_b[1],id:id}}function getXmlTagDefinition(tagName){return _TAG_DEFINITION}function serialize(nodes){return nodes.map(function(node){return node.visit(_visitor)}).join("")}function _escapeXml(text){return _ESCAPED_CHARS.reduce(function(text,entry){return text.replace(entry[0],entry[1])},text)}function getCtypeForTag(tag){switch(tag.toLowerCase()){case"br":return"lb";case"img":return"image";default:return"x-"+tag}}function getTypeForTag(tag){switch(tag.toLowerCase()){case"br":case"b":case"i":case"u":return"fmt";case"img":return"image";case"a":return"link";default:return"other"}}function digest$1(message){return decimalDigest(message)}function toPublicName(internalName){return internalName.toUpperCase().replace(/[^A-Z0-9_]/g,"_")}function createLazyProperty(messages,id,valueFn){Object.defineProperty(messages,id,{configurable:!0,enumerable:!0,get:function(){var value=valueFn();return Object.defineProperty(messages,id,{enumerable:!0,value:value}),value},set:function(_){throw new Error("Could not overwrite an XTB translation")}})}function createSerializer(format){switch(format=(format||"xlf").toLowerCase()){case"xmb":return new Xmb;case"xtb":return new Xtb;case"xliff2":case"xlf2":return new Xliff2;case"xliff":case"xlf":default:return new Xliff}}function ngfactoryFilePath(filePath,forceSourceFile){void 0===forceSourceFile&&(forceSourceFile=!1);var urlWithSuffix=splitTypescriptSuffix(filePath,forceSourceFile);return urlWithSuffix[0]+".ngfactory"+urlWithSuffix[1]}function stripGeneratedFileSuffix(filePath){return filePath.replace(GENERATED_FILE,".")}function isGeneratedFile(filePath){return GENERATED_FILE.test(filePath)}function splitTypescriptSuffix(path,forceSourceFile){if(void 0===forceSourceFile&&(forceSourceFile=!1),path.endsWith(".d.ts"))return[path.slice(0,-5),forceSourceFile?".ts":".d.ts"];var lastDot=path.lastIndexOf(".");return-1!==lastDot?[path.substring(0,lastDot),path.substring(lastDot)]:[path,""]}function summaryFileName(fileName){return fileName.replace(STRIP_SRC_FILE_SUFFIXES,"")+".ngsummary.json"}function summaryForJitFileName(fileName,forceSourceFile){void 0===forceSourceFile&&(forceSourceFile=!1);var urlWithSuffix=splitTypescriptSuffix(stripGeneratedFileSuffix(fileName),forceSourceFile);return urlWithSuffix[0]+".ngsummary"+urlWithSuffix[1]}function stripSummaryForJitFileSuffix(filePath){return filePath.replace(JIT_SUMMARY_FILE,".")}function summaryForJitName(symbolName){return symbolName+"NgSummary"}function stripSummaryForJitNameSuffix(symbolName){return symbolName.replace(JIT_SUMMARY_NAME,"")}function isLoweredSymbol(name){return LOWERED_SYMBOL.test(name)}function createLoweredSymbol(id){return"ɵ"+id}function createTokenForReference(reference){return{identifier:{reference:reference}}}function createTokenForExternalReference(reflector,reference){return createTokenForReference(reflector.resolveExternalReference(reference))}function hasLifecycleHook(reflector,hook,token){return reflector.hasLifecycleHook(token,getHookName(hook))}function getAllLifecycleHooks(reflector,token){return LIFECYCLE_HOOKS_VALUES.filter(function(hook){return hasLifecycleHook(reflector,hook,token)})}function getHookName(hook){switch(hook){case LifecycleHooks.OnInit:return"ngOnInit";case LifecycleHooks.OnDestroy:return"ngOnDestroy";case LifecycleHooks.DoCheck:return"ngDoCheck";case LifecycleHooks.OnChanges:return"ngOnChanges";case LifecycleHooks.AfterContentInit:return"ngAfterContentInit";case LifecycleHooks.AfterContentChecked:return"ngAfterContentChecked";case LifecycleHooks.AfterViewInit:return"ngAfterViewInit";case LifecycleHooks.AfterViewChecked:return"ngAfterViewChecked"}}function flattenArray(tree,out){if(void 0===out&&(out=[]),tree)for(var i=0;i<tree.length;i++){var item=resolveForwardRef(tree[i]);Array.isArray(item)?flattenArray(item,out):out.push(item)}return out}function dedupeArray(array){return array?Array.from(new Set(array)):[]}function flattenAndDedupeArray(tree){return dedupeArray(flattenArray(tree))}function isValidType(value){return value instanceof StaticSymbol||value instanceof Type}function extractIdentifiers(value,targetIdentifiers){visitValue(value,new _CompileValueConverter,targetIdentifiers)}function stringifyType(type){return type instanceof StaticSymbol?type.name+" in "+type.filePath:stringify(type)}function componentStillLoadingError(compType){var error=Error("Can't compile synchronously as "+stringify(compType)+" is still being loaded!");return error[ERROR_COMPONENT_TYPE]=compType,error}function nullSafeIsEquivalent(base,other){return null==base||null==other?base==other:base.isEquivalent(other)}function areAllEquivalent(base,other){var len=base.length;if(len!==other.length)return!1;for(var i=0;i<len;i++)if(!base[i].isEquivalent(other[i]))return!1;return!0}function findReadVarNames(stmts){var visitor=new _ReadVarVisitor;return visitor.visitAllStatements(stmts,null),visitor.varNames}function collectExternalReferences(stmts){var visitor=new _FindExternalReferencesVisitor;return visitor.visitAllStatements(stmts,null),visitor.externalReferences}function applySourceSpanToStatementIfNeeded(stmt,sourceSpan){if(!sourceSpan)return stmt;var transformer=new _ApplySourceSpanTransformer(sourceSpan);return stmt.visitStatement(transformer,null)}function applySourceSpanToExpressionIfNeeded(expr,sourceSpan){if(!sourceSpan)return expr;var transformer=new _ApplySourceSpanTransformer(sourceSpan);return expr.visitExpression(transformer,null)}function variable(name,type,sourceSpan){return new ReadVarExpr(name,type,sourceSpan)}function importExpr(id,typeParams,sourceSpan){return void 0===typeParams&&(typeParams=null),new ExternalExpr(id,null,typeParams,sourceSpan)}function importType(id,typeParams,typeModifiers){return void 0===typeParams&&(typeParams=null),void 0===typeModifiers&&(typeModifiers=null),null!=id?expressionType(importExpr(id,typeParams,null),typeModifiers):null}function expressionType(expr,typeModifiers){return void 0===typeModifiers&&(typeModifiers=null),new ExpressionType(expr,typeModifiers)}function literalArr(values,type,sourceSpan){return new LiteralArrayExpr(values,type,sourceSpan)}function literalMap(values,type){return void 0===type&&(type=null),new LiteralMapExpr(values.map(function(e){return new LiteralMapEntry(e.key,e.value,e.quoted)}),type,null)}function not(expr,sourceSpan){return new NotExpr(expr,sourceSpan)}function assertNotNull(expr,sourceSpan){return new AssertNotNull(expr,sourceSpan)}function fn(params,body,type,sourceSpan){return new FunctionExpr(params,body,type,sourceSpan)}function literal(value,type,sourceSpan){return new LiteralExpr(value,type,sourceSpan)}function _transformProvider(provider,_a){var useExisting=_a.useExisting,useValue=_a.useValue,deps=_a.deps;return{token:provider.token,useClass:provider.useClass,useExisting:useExisting,useFactory:provider.useFactory,useValue:useValue,deps:deps,multi:provider.multi}}function _transformProviderAst(provider,_a){var eager=_a.eager,providers=_a.providers;return new ProviderAst(provider.token,provider.multiProvider,provider.eager||eager,providers,provider.providerType,provider.lifecycleHooks,provider.sourceSpan)}function _resolveProvidersFromDirectives(directives,sourceSpan,targetErrors){var providersByToken=new Map;return directives.forEach(function(directive){_resolveProviders([{token:{identifier:directive.type},useClass:directive.type}],directive.isComponent?ProviderAstType.Component:ProviderAstType.Directive,!0,sourceSpan,targetErrors,providersByToken)}),directives.filter(function(dir){return dir.isComponent}).concat(directives.filter(function(dir){return!dir.isComponent})).forEach(function(directive){_resolveProviders(directive.providers,ProviderAstType.PublicService,!1,sourceSpan,targetErrors,providersByToken),_resolveProviders(directive.viewProviders,ProviderAstType.PrivateService,!1,sourceSpan,targetErrors,providersByToken)}),providersByToken}function _resolveProviders(providers,providerType,eager,sourceSpan,targetErrors,targetProvidersByToken){providers.forEach(function(provider){var resolvedProvider=targetProvidersByToken.get(tokenReference(provider.token));if(null!=resolvedProvider&&!!resolvedProvider.multiProvider!=!!provider.multi&&targetErrors.push(new ProviderError("Mixing multi and non multi provider is not possible for token "+tokenName(resolvedProvider.token),sourceSpan)),resolvedProvider)provider.multi||(resolvedProvider.providers.length=0),resolvedProvider.providers.push(provider);else{var lifecycleHooks=provider.token.identifier&&provider.token.identifier.lifecycleHooks?provider.token.identifier.lifecycleHooks:[],isUseValue=!(provider.useClass||provider.useExisting||provider.useFactory);resolvedProvider=new ProviderAst(provider.token,!!provider.multi,eager||isUseValue,[provider],providerType,lifecycleHooks,sourceSpan),targetProvidersByToken.set(tokenReference(provider.token),resolvedProvider)}})}function _getViewQueries(component){var viewQueryId=1,viewQueries=new Map;return component.viewQueries&&component.viewQueries.forEach(function(query){return _addQueryToTokenMap(viewQueries,{meta:query,queryId:viewQueryId++})}),viewQueries}function _getContentQueries(contentQueryStartId,directives){var contentQueryId=contentQueryStartId,contentQueries=new Map;return directives.forEach(function(directive,directiveIndex){directive.queries&&directive.queries.forEach(function(query){return _addQueryToTokenMap(contentQueries,{meta:query,queryId:contentQueryId++})})}),contentQueries}function _addQueryToTokenMap(map,query){query.meta.selectors.forEach(function(token){var entry=map.get(tokenReference(token));entry||(entry=[],map.set(tokenReference(token),entry)),entry.push(query)})}function convertValueToOutputAst(ctx,value,type){return void 0===type&&(type=null),visitValue(value,new _ValueOutputAstTransformer(ctx),type)}function providerDef(ctx,providerAst){var flags=0;providerAst.eager||(flags|=4096),providerAst.providerType===ProviderAstType.PrivateService&&(flags|=8192),providerAst.lifecycleHooks.forEach(function(lifecycleHook){lifecycleHook!==LifecycleHooks.OnDestroy&&providerAst.providerType!==ProviderAstType.Directive&&providerAst.providerType!==ProviderAstType.Component||(flags|=lifecycleHookToNodeFlag(lifecycleHook))});var _a=providerAst.multiProvider?multiProviderDef(ctx,flags,providerAst.providers):singleProviderDef(ctx,flags,providerAst.providerType,providerAst.providers[0]);return{providerExpr:_a.providerExpr,flags:_a.flags,depsExpr:_a.depsExpr,tokenExpr:tokenExpr(ctx,providerAst.token)}}function multiProviderDef(ctx,flags,providers){function convertDeps(providerIndex,deps){return deps.map(function(dep,depIndex){var paramName="p"+providerIndex+"_"+depIndex;return allParams.push(new FnParam(paramName,DYNAMIC_TYPE)),allDepDefs.push(depDef(ctx,dep)),variable(paramName)})}var allDepDefs=[],allParams=[],exprs=providers.map(function(provider,providerIndex){var expr;if(provider.useClass){var depExprs=convertDeps(providerIndex,provider.deps||provider.useClass.diDeps);expr=ctx.importExpr(provider.useClass.reference).instantiate(depExprs)}else if(provider.useFactory){var depExprs=convertDeps(providerIndex,provider.deps||provider.useFactory.diDeps);expr=ctx.importExpr(provider.useFactory.reference).callFn(depExprs)}else if(provider.useExisting){var depExprs=convertDeps(providerIndex,[{token:provider.useExisting}]);expr=depExprs[0]}else expr=convertValueToOutputAst(ctx,provider.useValue);return expr});return{providerExpr:fn(allParams,[new ReturnStatement(literalArr(exprs))],INFERRED_TYPE),flags:1024|flags,depsExpr:literalArr(allDepDefs)}}function singleProviderDef(ctx,flags,providerType,providerMeta){var providerExpr,deps;return providerType===ProviderAstType.Directive||providerType===ProviderAstType.Component?(providerExpr=ctx.importExpr(providerMeta.useClass.reference),flags|=16384,deps=providerMeta.deps||providerMeta.useClass.diDeps):providerMeta.useClass?(providerExpr=ctx.importExpr(providerMeta.useClass.reference),flags|=512,deps=providerMeta.deps||providerMeta.useClass.diDeps):providerMeta.useFactory?(providerExpr=ctx.importExpr(providerMeta.useFactory.reference),flags|=1024,deps=providerMeta.deps||providerMeta.useFactory.diDeps):providerMeta.useExisting?(providerExpr=NULL_EXPR,flags|=2048,deps=[{token:providerMeta.useExisting}]):(providerExpr=convertValueToOutputAst(ctx,providerMeta.useValue),flags|=256,deps=[]),{providerExpr:providerExpr,flags:flags,depsExpr:literalArr(deps.map(function(dep){return depDef(ctx,dep)}))}}function tokenExpr(ctx,tokenMeta){return tokenMeta.identifier?ctx.importExpr(tokenMeta.identifier.reference):literal(tokenMeta.value)}function depDef(ctx,dep){var expr=dep.isValue?convertValueToOutputAst(ctx,dep.value):tokenExpr(ctx,dep.token),flags=0;return dep.isSkipSelf&&(flags|=1),dep.isOptional&&(flags|=2),dep.isValue&&(flags|=8),0===flags?expr:literalArr([literal(flags),expr])}function lifecycleHookToNodeFlag(lifecycleHook){var nodeFlag=0;switch(lifecycleHook){case LifecycleHooks.AfterContentChecked:nodeFlag=2097152;break;case LifecycleHooks.AfterContentInit:nodeFlag=1048576;break;case LifecycleHooks.AfterViewChecked:nodeFlag=8388608;break;case LifecycleHooks.AfterViewInit:nodeFlag=4194304;break;case LifecycleHooks.DoCheck:nodeFlag=262144;break;case LifecycleHooks.OnChanges:nodeFlag=524288;break;case LifecycleHooks.OnDestroy:nodeFlag=131072;break;case LifecycleHooks.OnInit:nodeFlag=65536}return nodeFlag}function componentFactoryResolverProviderDef(reflector,ctx,flags,entryComponents){var entryComponentFactories=entryComponents.map(function(entryComponent){return ctx.importExpr(entryComponent.componentFactory)}),token=createTokenForExternalReference(reflector,Identifiers.ComponentFactoryResolver),classMeta={diDeps:[{isValue:!0,value:literalArr(entryComponentFactories)},{token:token,isSkipSelf:!0,isOptional:!0},{token:createTokenForExternalReference(reflector,Identifiers.NgModuleRef)}],lifecycleHooks:[],reference:reflector.resolveExternalReference(Identifiers.CodegenComponentFactoryResolver)},_a=singleProviderDef(ctx,flags,ProviderAstType.PrivateService,{token:token,multi:!1,useClass:classMeta});return{providerExpr:_a.providerExpr,flags:_a.flags,depsExpr:_a.depsExpr,tokenExpr:tokenExpr(ctx,token)}}function toBase64String(value){var b64="";value=utf8Encode(value);for(var i=0;i<value.length;){var i1=value.charCodeAt(i++),i2=value.charCodeAt(i++),i3=value.charCodeAt(i++);b64+=toBase64Digit(i1>>2),b64+=toBase64Digit((3&i1)<<4|(isNaN(i2)?0:i2>>4)),b64+=isNaN(i2)?"=":toBase64Digit((15&i2)<<2|i3>>6),b64+=isNaN(i2)||isNaN(i3)?"=":toBase64Digit(63&i3)}return b64}function toBase64VLQ(value){value=value<0?1+(-value<<1):value<<1;var out="";do{var digit=31&value;value>>=5,value>0&&(digit|=32),out+=toBase64Digit(digit)}while(value>0);return out}function toBase64Digit(value){if(value<0||value>=64)throw new Error("Can only encode value in the range [0, 63]");return B64_DIGITS[value]}function escapeIdentifier(input,escapeDollar,alwaysQuote){if(void 0===alwaysQuote&&(alwaysQuote=!0),null==input)return null;var body=input.replace(_SINGLE_QUOTE_ESCAPE_STRING_RE,function(){for(var match=[],_i=0;_i<arguments.length;_i++)match[_i]=arguments[_i];return"$"==match[0]?escapeDollar?"\\$":"$":"\n"==match[0]?"\\n":"\r"==match[0]?"\\r":"\\"+match[0]});return alwaysQuote||!_LEGAL_IDENTIFIER_RE.test(body)?"'"+body+"'":body}function _createIndent(count){for(var res="",i=0;i<count;i++)res+=_INDENT_WITH;return res}function debugOutputAstAsTypeScript(ast){var converter=new _TsEmitterVisitor,ctx=EmitterVisitorContext.createRoot();return(Array.isArray(ast)?ast:[ast]).forEach(function(ast){if(ast instanceof Statement)ast.visitStatement(converter,ctx);else if(ast instanceof Expression)ast.visitExpression(converter,ctx);else{if(!(ast instanceof Type$1))throw new Error("Don't know how to print debug info for "+ast);ast.visitType(converter,ctx)}}),ctx.toSource()}function registerContext(ctx,specs){for(var _i=0,specs_1=specs;_i<specs_1.length;_i++){var spec=specs_1[_i];SECURITY_SCHEMA[spec.toLowerCase()]=ctx}}function _isPixelDimensionStyle(prop){switch(prop){case"width":case"height":case"minWidth":case"minHeight":case"maxWidth":case"maxHeight":case"left":case"top":case"bottom":case"right":case"fontSize":case"outlineWidth":case"outlineOffset":case"paddingTop":case"paddingLeft":case"paddingBottom":case"paddingRight":case"marginTop":case"marginLeft":case"marginBottom":case"marginRight":case"borderRadius":case"borderWidth":case"borderTopWidth":case"borderLeftWidth":case"borderRightWidth":case"borderBottomWidth":case"textIndent":return!0;default:return!1}}function stripComments(input){return input.replace(_commentRe,"")}function extractSourceMappingUrl(input){var matcher=input.match(_sourceMappingUrlRe);return matcher?matcher[0]:""}function processRules(input,ruleCallback){var inputWithEscapedBlocks=escapeBlocks(input),nextBlockIndex=0;return inputWithEscapedBlocks.escapedString.replace(_ruleRe,function(){for(var m=[],_i=0;_i<arguments.length;_i++)m[_i]=arguments[_i];var selector=m[2],content="",suffix=m[4],contentPrefix="";suffix&&suffix.startsWith("{"+BLOCK_PLACEHOLDER)&&(content=inputWithEscapedBlocks.blocks[nextBlockIndex++],suffix=suffix.substring(BLOCK_PLACEHOLDER.length+1),contentPrefix="{");var rule=ruleCallback(new CssRule(selector,content));return""+m[1]+rule.selector+m[3]+contentPrefix+rule.content+suffix})}function escapeBlocks(input){for(var inputParts=input.split(_curlyRe),resultParts=[],escapedBlocks=[],bracketCount=0,currentBlockParts=[],partIndex=0;partIndex<inputParts.length;partIndex++){var part=inputParts[partIndex];part==CLOSE_CURLY&&bracketCount--,bracketCount>0?currentBlockParts.push(part):(currentBlockParts.length>0&&(escapedBlocks.push(currentBlockParts.join("")),resultParts.push(BLOCK_PLACEHOLDER),currentBlockParts=[]),resultParts.push(part)),part==OPEN_CURLY&&bracketCount++}return currentBlockParts.length>0&&(escapedBlocks.push(currentBlockParts.join("")),resultParts.push(BLOCK_PLACEHOLDER)),new StringWithEscapedBlocks(resultParts.join(""),escapedBlocks)}function getStylesVarName(component){var result="styles";return component&&(result+="_"+identifierName(component.type)),result}function hasPreserveWhitespacesAttr(attrs){return attrs.some(function(attr){return attr.name===PRESERVE_WS_ATTR_NAME})}function replaceNgsp(value){return value.replace(new RegExp(NGSP_UNICODE,"g")," ")}function removeWhitespaces(htmlAstWithErrors){return new ParseTreeResult(visitAll(new WhitespaceVisitor,htmlAstWithErrors.rootNodes),htmlAstWithErrors.errors)}function expandNodes(nodes){var expander=new _Expander;return new ExpansionResult(visitAll(expander,nodes),expander.isExpanded,expander.errors)}function _expandPluralForm(ast,errors){var children=ast.cases.map(function(c){-1!=PLURAL_CASES.indexOf(c.value)||c.value.match(/^=\d+$/)||errors.push(new ExpansionError(c.valueSourceSpan,'Plural cases should be "=<number>" or one of '+PLURAL_CASES.join(", ")));var expansionResult=expandNodes(c.expression);return errors.push.apply(errors,expansionResult.errors),new Element("ng-template",[new Attribute$1("ngPluralCase",""+c.value,c.valueSourceSpan)],expansionResult.nodes,c.sourceSpan,c.sourceSpan,c.sourceSpan)}),switchAttr=new Attribute$1("[ngPlural]",ast.switchValue,ast.switchValueSourceSpan);return new Element("ng-container",[switchAttr],children,ast.sourceSpan,ast.sourceSpan,ast.sourceSpan)}function _expandDefaultForm(ast,errors){var children=ast.cases.map(function(c){var expansionResult=expandNodes(c.expression);return errors.push.apply(errors,expansionResult.errors),"other"===c.value?new Element("ng-template",[new Attribute$1("ngSwitchDefault","",c.valueSourceSpan)],expansionResult.nodes,c.sourceSpan,c.sourceSpan,c.sourceSpan):new Element("ng-template",[new Attribute$1("ngSwitchCase",""+c.value,c.valueSourceSpan)],expansionResult.nodes,c.sourceSpan,c.sourceSpan,c.sourceSpan)}),switchAttr=new Attribute$1("[ngSwitch]",ast.switchValue,ast.switchValueSourceSpan);return new Element("ng-container",[switchAttr],children,ast.sourceSpan,ast.sourceSpan,ast.sourceSpan)}function _isAnimationLabel(name){return"@"==name[0]}function calcPossibleSecurityContexts(registry,selector,propName,isAttribute){var ctxs=[];return CssSelector.parse(selector).forEach(function(selector){var elementNames=selector.element?[selector.element]:registry.allKnownElementNames(),notElementNames=new Set(selector.notSelectors.filter(function(selector){return selector.isElementSelector()}).map(function(selector){return selector.element})),possibleElementNames=elementNames.filter(function(elementName){return!notElementNames.has(elementName)});ctxs.push.apply(ctxs,possibleElementNames.map(function(elementName){return registry.securityContext(elementName,propName,isAttribute)}))}),0===ctxs.length?[SecurityContext.NONE]:Array.from(new Set(ctxs)).sort()}function warnOnlyOnce(warnings){return function(error){return-1===warnings.indexOf(error.msg)||(warningCounts[error.msg]=(warningCounts[error.msg]||0)+1,warningCounts[error.msg]<=1)}}function splitExportAs(exportAs){return exportAs?exportAs.split(",").map(function(e){return e.trim()}):[]}function splitClasses(classAttrValue){return classAttrValue.trim().split(/\s+/g)}function createElementCssSelector(elementName,attributes){var cssSelector=new CssSelector,elNameNoNs=splitNsName(elementName)[1];cssSelector.setElement(elNameNoNs);for(var i=0;i<attributes.length;i++){var attrName=attributes[i][0],attrNameNoNs=splitNsName(attrName)[1],attrValue=attributes[i][1];if(cssSelector.addAttribute(attrNameNoNs,attrValue),attrName.toLowerCase()==CLASS_ATTR){splitClasses(attrValue).forEach(function(className){return cssSelector.addClassName(className)})}}return cssSelector}function _isEmptyTextNode(node){return node instanceof Text&&0==node.value.trim().length}function removeSummaryDuplicates(items){var map=new Map;return items.forEach(function(item){map.get(item.type.reference)||map.set(item.type.reference,item)}),Array.from(map.values())}function isEmptyExpression(ast){return ast instanceof ASTWithSource&&(ast=ast.ast),ast instanceof EmptyExpr}function isTemplate(el,enableLegacyTemplate,reportDeprecation){if(isNgTemplate(el.name))return!0;var tagNoNs=splitNsName(el.name)[1];return!(tagNoNs.toLowerCase()!==TEMPLATE_ELEMENT||!enableLegacyTemplate||tagNoNs.toLowerCase()!==TEMPLATE_ELEMENT)&&(reportDeprecation(TEMPLATE_ELEMENT_DEPRECATION_WARNING,el.sourceSpan),!0)}function convertActionBinding(localResolver,implicitReceiver,action,bindingId){localResolver||(localResolver=new DefaultLocalResolver);var actionWithoutBuiltins=convertPropertyBindingBuiltins({createLiteralArrayConverter:function(argCount){return function(args){return literalArr(args)}},createLiteralMapConverter:function(keys){return function(values){return literalMap(keys.map(function(k,i){return{key:k.key,value:values[i],quoted:k.quoted}}))}},createPipeConverter:function(name){throw new Error("Illegal State: Actions are not allowed to contain pipes. Pipe: "+name)}},action),visitor=new _AstToIrVisitor(localResolver,implicitReceiver,bindingId),actionStmts=[];flattenStatements(actionWithoutBuiltins.visit(visitor,_Mode.Statement),actionStmts),prependTemporaryDecls(visitor.temporaryCount,bindingId,actionStmts);var lastIndex=actionStmts.length-1,preventDefaultVar=null;if(lastIndex>=0){var lastStatement=actionStmts[lastIndex],returnExpr=convertStmtIntoExpression(lastStatement);returnExpr&&(preventDefaultVar=createPreventDefaultVar(bindingId),actionStmts[lastIndex]=preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(!1))).toDeclStmt(null,[StmtModifier.Final]))}return new ConvertActionBindingResult(actionStmts,preventDefaultVar)}function convertPropertyBindingBuiltins(converterFactory,ast){return convertBuiltins(converterFactory,ast)}function convertPropertyBinding(localResolver,implicitReceiver,expressionWithoutBuiltins,bindingId){localResolver||(localResolver=new DefaultLocalResolver);var currValExpr=createCurrValueExpr(bindingId),stmts=[],visitor=new _AstToIrVisitor(localResolver,implicitReceiver,bindingId),outputExpr=expressionWithoutBuiltins.visit(visitor,_Mode.Expression);if(visitor.temporaryCount)for(var i=0;i<visitor.temporaryCount;i++)stmts.push(temporaryDeclaration(bindingId,i));return stmts.push(currValExpr.set(outputExpr).toDeclStmt(null,[StmtModifier.Final])),new ConvertPropertyBindingResult(stmts,currValExpr)}function convertBuiltins(converterFactory,ast){var visitor=new _BuiltinAstConverter(converterFactory);return ast.visit(visitor)}function temporaryName(bindingId,temporaryNumber){return"tmp_"+bindingId+"_"+temporaryNumber}function temporaryDeclaration(bindingId,temporaryNumber){return new DeclareVarStmt(temporaryName(bindingId,temporaryNumber),NULL_EXPR)}function prependTemporaryDecls(temporaryCount,bindingId,statements){for(var i=temporaryCount-1;i>=0;i--)statements.unshift(temporaryDeclaration(bindingId,i))}function ensureStatementMode(mode,ast){if(mode!==_Mode.Statement)throw new Error("Expected a statement, but saw "+ast)}function ensureExpressionMode(mode,ast){if(mode!==_Mode.Expression)throw new Error("Expected an expression, but saw "+ast)}function convertToStatementIfNeeded(mode,expr){return mode===_Mode.Statement?expr.toStmt():expr}function flattenStatements(arg,output){Array.isArray(arg)?arg.forEach(function(entry){return flattenStatements(entry,output)}):output.push(arg)}function createCurrValueExpr(bindingId){return variable("currVal_"+bindingId)}function createPreventDefaultVar(bindingId){return variable("pd_"+bindingId)}function convertStmtIntoExpression(stmt){return stmt instanceof ExpressionStatement?stmt.expr:stmt instanceof ReturnStatement?stmt.value:null}function needsAdditionalRootNode(astNodes){var lastAstNode=astNodes[astNodes.length-1] ;return lastAstNode instanceof EmbeddedTemplateAst?lastAstNode.hasViewContainer:lastAstNode instanceof ElementAst?isNgContainer(lastAstNode.name)&&lastAstNode.children.length?needsAdditionalRootNode(lastAstNode.children):lastAstNode.hasViewContainer:lastAstNode instanceof NgContentAst}function elementBindingDef(inputAst,dirAst){switch(inputAst.type){case PropertyBindingType.Attribute:return literalArr([literal(1),literal(inputAst.name),literal(inputAst.securityContext)]);case PropertyBindingType.Property:return literalArr([literal(8),literal(inputAst.name),literal(inputAst.securityContext)]);case PropertyBindingType.Animation:return literalArr([literal(8|(dirAst&&dirAst.directive.isComponent?32:16)),literal("@"+inputAst.name),literal(inputAst.securityContext)]);case PropertyBindingType.Class:return literalArr([literal(2),literal(inputAst.name),NULL_EXPR]);case PropertyBindingType.Style:return literalArr([literal(4),literal(inputAst.name),literal(inputAst.unit)])}}function fixe