File: //proc/1526/cwd/tana/frontend/node_modules/nunjucks/browser/nunjucks-slim.js.map
{"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap f6396f868f44d81909aa","../nunjucks/src/lib.js","../nunjucks/src/runtime.js","../nunjucks/src/precompiled-loader.js","../nunjucks/src/loader.js","../nunjucks/src/object.js","../nunjucks/index.js","../nunjucks/src/environment.js","../node_modules/asap/browser-asap.js","../node_modules/asap/browser-raw.js","../node_modules/webpack/buildin/global.js","../node_modules/a-sync-waterfall/index.js","../nunjucks/src/filters.js","../nunjucks/src/tests.js","../nunjucks/src/globals.js","../nunjucks/src/express-app.js","../nunjucks/src/jinja-compat.js"],"names":["ArrayProto","Array","prototype","ObjProto","Object","escapeMap","escapeRegex","exports","module","hasOwnProp","obj","k","hasOwnProperty","call","lookupEscape","ch","_prettifyError","path","withInternals","err","Update","TemplateError","old","Error","message","name","lineno","colno","cause","setPrototypeOf","defineProperty","enumerable","writable","value","captureStackTrace","constructor","getStack","stackDescriptor","getOwnPropertyDescriptor","get","stack","firstUpdate","msg","create","escape","val","replace","isFunction","toString","isArray","isString","isObject","groupBy","result","iterator","o","i","length","key","push","toArray","slice","without","array","contains","arguments","index","indexOf","repeat","char_","n","str","each","func","context","forEach","l","map","results","asyncIter","arr","iter","cb","next","asyncFor","keys","keys_","len","searchElement","fromIndex","_entries","_values","extend","obj1","obj2","_assign","inOperator","lib","require","arrayFrom","from","supportsIterators","Symbol","Frame","parent","isolateWrites","variables","topLevel","set","resolveUp","parts","split","frame","resolve","id","undefined","lookup","p","forWrite","pop","makeMacro","argNames","kwargNames","macroArgs","argCount","numArgs","args","kwargs","getKeywordArgs","arg","apply","makeKeywordArgs","__keywords","isKeywordArgs","lastArg","SafeString","String","configurable","valueOf","copySafeness","dest","target","markSafe","type","wrapSafe","ret","suppressValue","autoescape","ensureDefined","memberLookup","callWrap","contextOrFrameLookup","handleError","error","asyncEach","dimen","iterCallback","item","asyncAll","finished","outputArr","done","output","join","fromIterator","Loader","PrecompiledLoader","compiledTemplates","precompiled","getSource","src","Obj","on","listeners","emit","listener","to","dirname","isRelative","filename","parentWrap","prop","wrap","tmp","res","extendClass","cls","props","subclass","init","Environment","Template","loaders","precompile","compiler","parser","lexer","runtime","nodes","installJinjaCompat","e","configure","templatesPath","opts","TemplateLoader","FileSystemLoader","watch","noCache","WebLoader","useCache","web","async","express","reset","compile","env","eagerCompile","render","ctx","renderString","precompileString","asap","waterfall","filters","tests","globals","globalRuntime","expressApp","callbackAsap","noopTmplSrc","root","dev","throwOnUndefined","trimBlocks","lstripBlocks","window","nunjucksPrecompiled","unshift","initCache","asyncFilters","extensions","extensionsList","filter","addFilter","test","addTest","loader","cache","template","addExtension","extension","__name","removeExtension","getExtension","hasExtension","addGlobal","getGlobal","wrapped","getFilter","getTest","resolveTemplate","parentName","getTemplate","ignoreMissing","that","tmpl","raw","syncResult","createTemplate","info","newTmpl","handle","app","tasks","callback","forceAsync","Context","blocks","exported","addBlock","setVariable","getVariables","block","getBlock","getSuper","idx","blk","addExport","getExported","tmplProps","tmplStr","_compile","compiled","parentFrame","didError","rootRenderFunc","source","Function","_getBlocks","r","normalize","defaultValue","abs","Math","isNaN","num","batch","linecount","fillWith","capitalize","toLowerCase","charAt","toUpperCase","center","width","spaces","pre","post","default_","def","bool","dictsort","caseSensitive","by","si","sort","t1","t2","a","b","dump","JSON","stringify","safe","first","forceescape","groupby","attr","indent","indentfirst","lines","sp","del","v","last","lengthFilter","Map","Set","size","list","lower","nl2br","random","floor","rejectattr","selectattr","new_","maxCount","originalStr","RegExp","nextIndex","pos","count","substring","reverse","round","precision","method","factor","pow","rounder","ceil","slices","sliceLength","extra","offset","start","end","currSlice","sum","reduce","reversed","caseSens","x","y","string","striptags","input","preserveLinebreaks","tags","trimmedInput","trim","title","words","word","truncate","killwords","orig","lastIndexOf","upper","urlencode","enc","encodeURIComponent","keyvals","puncRe","emailRe","httpHttpsRe","wwwRe","tldRe","urlize","nofollow","Infinity","noFollowAttr","matches","match","possibleUrl","shortUrl","substr","wordcount","float","parseFloat","int","parseInt","d","default","callable","defined","divisibleby","one","two","escaped","equalto","eq","sameas","even","falsy","ge","greaterthan","gt","le","lessthan","lt","ne","nullTest","null","number","odd","truthy","undefinedTest","iterable","mapping","cycler","items","current","joiner","sep","range","stop","step","NunjucksView","defaultEngine","ext","extname","installCompat","Compiler","Parser","orig_contextOrFrameLookup","orig_memberLookup","orig_Compiler_assertType","orig_Parser_parseAggregate","assertType","parseAggregate","uninstall","getTokensState","tokens","Slice","Node","fields","Literal","node","compileSlice","_emit","_compileExpression","origState","errState","rethrow","peeked","tok","peekToken","TOKEN_LEFT_BRACKET","nextToken","isSlice","skip","TOKEN_RIGHT_BRACKET","fail","TOKEN_COLON","field","parseExpression","sliceLookup","ARRAY_MEMBERS","splice","append","element","remove","find","insert","elem","OBJECT_MEMBERS","values","has_key","popitem","setdefault","update","iteritems","itervalues","iterkeys","bind"],"mappings":"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AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;;;;;;;8CCjEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,kBAAkB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9NA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACpBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AAAA,qGAAE;AACP,GAAG;AACH,+BAA+B;AAC/B,GAAG;AACH,kCAAkC;AAClC;AACA,CAAC;;;;;;;;AClFD;;AAEA,IAAI9F,MAAM,mBAAAC,CAAQ,CAAR,CAAV;;AACA,IAAIyM,IAAI,mBAAAzM,CAAQ,CAAR,CAAR;;AAEA,IAAI3F,WAAUC,OAAOD,OAAP,GAAiB,EAA/B;;AAEA,SAASqS,SAAT,CAAmB3Q,KAAnB,EAA0B4Q,YAA1B,EAAwC;AACtC,MAAI5Q,UAAU,IAAV,IAAkBA,UAAUkF,SAA5B,IAAyClF,UAAU,KAAvD,EAA8D;AAC5D,WAAO4Q,YAAP;AACD;;AACD,SAAO5Q,KAAP;AACD;;AAED1B,SAAQuS,GAAR,GAAcC,KAAKD,GAAnB;;AAEA,SAASE,KAAT,CAAeC,GAAf,EAAoB;AAClB,SAAOA,QAAQA,GAAf,CADkB,CACE;AACrB;;AAED,SAASC,KAAT,CAAelO,GAAf,EAAoBmO,SAApB,EAA+BC,QAA/B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","file":"nunjucks-slim.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"nunjucks\"] = factory();\n\telse\n\t\troot[\"nunjucks\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap f6396f868f44d81909aa","'use strict';\n\nvar ArrayProto = Array.prototype;\nvar ObjProto = Object.prototype;\n\nvar escapeMap = {\n '&': '&',\n '\"': '"',\n '\\'': ''',\n '<': '<',\n '>': '>'\n};\n\nvar escapeRegex = /[&\"'<>]/g;\n\nvar exports = module.exports = {};\n\nfunction hasOwnProp(obj, k) {\n return ObjProto.hasOwnProperty.call(obj, k);\n}\n\nexports.hasOwnProp = hasOwnProp;\n\nfunction lookupEscape(ch) {\n return escapeMap[ch];\n}\n\nfunction _prettifyError(path, withInternals, err) {\n if (!err.Update) {\n // not one of ours, cast it\n err = new exports.TemplateError(err);\n }\n err.Update(path);\n\n // Unless they marked the dev flag, show them a trace from here\n if (!withInternals) {\n const old = err;\n err = new Error(old.message);\n err.name = old.name;\n }\n\n return err;\n}\n\nexports._prettifyError = _prettifyError;\n\nfunction TemplateError(message, lineno, colno) {\n var err;\n var cause;\n\n if (message instanceof Error) {\n cause = message;\n message = `${cause.name}: ${cause.message}`;\n }\n\n if (Object.setPrototypeOf) {\n err = new Error(message);\n Object.setPrototypeOf(err, TemplateError.prototype);\n } else {\n err = this;\n Object.defineProperty(err, 'message', {\n enumerable: false,\n writable: true,\n value: message,\n });\n }\n\n Object.defineProperty(err, 'name', {\n value: 'Template render error',\n });\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(err, this.constructor);\n }\n\n let getStack;\n\n if (cause) {\n const stackDescriptor = Object.getOwnPropertyDescriptor(cause, 'stack');\n getStack = stackDescriptor && (stackDescriptor.get || (() => stackDescriptor.value));\n if (!getStack) {\n getStack = () => cause.stack;\n }\n } else {\n const stack = (new Error(message)).stack;\n getStack = (() => stack);\n }\n\n Object.defineProperty(err, 'stack', {\n get: () => getStack.call(err),\n });\n\n Object.defineProperty(err, 'cause', {\n value: cause\n });\n\n err.lineno = lineno;\n err.colno = colno;\n err.firstUpdate = true;\n\n err.Update = function Update(path) {\n let msg = '(' + (path || 'unknown path') + ')';\n\n // only show lineno + colno next to path of template\n // where error occurred\n if (this.firstUpdate) {\n if (this.lineno && this.colno) {\n msg += ` [Line ${this.lineno}, Column ${this.colno}]`;\n } else if (this.lineno) {\n msg += ` [Line ${this.lineno}]`;\n }\n }\n\n msg += '\\n ';\n if (this.firstUpdate) {\n msg += ' ';\n }\n\n this.message = msg + (this.message || '');\n this.firstUpdate = false;\n return this;\n };\n\n return err;\n}\n\n\nif (Object.setPrototypeOf) {\n Object.setPrototypeOf(TemplateError.prototype, Error.prototype);\n} else {\n TemplateError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: TemplateError,\n },\n });\n}\n\nexports.TemplateError = TemplateError;\n\nfunction escape(val) {\n return val.replace(escapeRegex, lookupEscape);\n}\n\nexports.escape = escape;\n\nfunction isFunction(obj) {\n return ObjProto.toString.call(obj) === '[object Function]';\n}\n\nexports.isFunction = isFunction;\n\nfunction isArray(obj) {\n return ObjProto.toString.call(obj) === '[object Array]';\n}\n\nexports.isArray = isArray;\n\nfunction isString(obj) {\n return ObjProto.toString.call(obj) === '[object String]';\n}\n\nexports.isString = isString;\n\nfunction isObject(obj) {\n return ObjProto.toString.call(obj) === '[object Object]';\n}\n\nexports.isObject = isObject;\n\nfunction groupBy(obj, val) {\n const result = {};\n const iterator = isFunction(val) ? val : (o) => o[val];\n for (let i = 0; i < obj.length; i++) {\n const value = obj[i];\n const key = iterator(value, i);\n (result[key] || (result[key] = [])).push(value);\n }\n return result;\n}\n\nexports.groupBy = groupBy;\n\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj);\n}\n\nexports.toArray = toArray;\n\nfunction without(array) {\n const result = [];\n if (!array) {\n return result;\n }\n const length = array.length;\n const contains = toArray(arguments).slice(1);\n let index = -1;\n\n while (++index < length) {\n if (indexOf(contains, array[index]) === -1) {\n result.push(array[index]);\n }\n }\n return result;\n}\n\nexports.without = without;\n\nfunction repeat(char_, n) {\n var str = '';\n for (let i = 0; i < n; i++) {\n str += char_;\n }\n return str;\n}\n\nexports.repeat = repeat;\n\nfunction each(obj, func, context) {\n if (obj == null) {\n return;\n }\n\n if (ArrayProto.forEach && obj.forEach === ArrayProto.forEach) {\n obj.forEach(func, context);\n } else if (obj.length === +obj.length) {\n for (let i = 0, l = obj.length; i < l; i++) {\n func.call(context, obj[i], i, obj);\n }\n }\n}\n\nexports.each = each;\n\nfunction map(obj, func) {\n var results = [];\n if (obj == null) {\n return results;\n }\n\n if (ArrayProto.map && obj.map === ArrayProto.map) {\n return obj.map(func);\n }\n\n for (let i = 0; i < obj.length; i++) {\n results[results.length] = func(obj[i], i);\n }\n\n if (obj.length === +obj.length) {\n results.length = obj.length;\n }\n\n return results;\n}\n\nexports.map = map;\n\nfunction asyncIter(arr, iter, cb) {\n let i = -1;\n\n function next() {\n i++;\n\n if (i < arr.length) {\n iter(arr[i], i, next, cb);\n } else {\n cb();\n }\n }\n\n next();\n}\n\nexports.asyncIter = asyncIter;\n\nfunction asyncFor(obj, iter, cb) {\n const keys = keys_(obj || {});\n const len = keys.length;\n let i = -1;\n\n function next() {\n i++;\n const k = keys[i];\n\n if (i < len) {\n iter(k, obj[k], i, len, next);\n } else {\n cb();\n }\n }\n\n next();\n}\n\nexports.asyncFor = asyncFor;\n\nfunction indexOf(arr, searchElement, fromIndex) {\n return Array.prototype.indexOf.call(arr || [], searchElement, fromIndex);\n}\n\nexports.indexOf = indexOf;\n\nfunction keys_(obj) {\n /* eslint-disable no-restricted-syntax */\n const arr = [];\n for (let k in obj) {\n if (hasOwnProp(obj, k)) {\n arr.push(k);\n }\n }\n return arr;\n}\n\nexports.keys = keys_;\n\nfunction _entries(obj) {\n return keys_(obj).map((k) => [k, obj[k]]);\n}\n\nexports._entries = _entries;\n\nfunction _values(obj) {\n return keys_(obj).map((k) => obj[k]);\n}\n\nexports._values = _values;\n\nfunction extend(obj1, obj2) {\n obj1 = obj1 || {};\n keys_(obj2).forEach(k => {\n obj1[k] = obj2[k];\n });\n return obj1;\n}\n\nexports._assign = exports.extend = extend;\n\nfunction inOperator(key, val) {\n if (isArray(val) || isString(val)) {\n return val.indexOf(key) !== -1;\n } else if (isObject(val)) {\n return key in val;\n }\n throw new Error('Cannot use \"in\" operator to search for \"'\n + key + '\" in unexpected types.');\n}\n\nexports.inOperator = inOperator;\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/lib.js","'use strict';\n\nvar lib = require('./lib');\nvar arrayFrom = Array.from;\nvar supportsIterators = (\n typeof Symbol === 'function' && Symbol.iterator && typeof arrayFrom === 'function'\n);\n\n\n// Frames keep track of scoping both at compile-time and run-time so\n// we know how to access variables. Block tags can introduce special\n// variables, for example.\nclass Frame {\n constructor(parent, isolateWrites) {\n this.variables = {};\n this.parent = parent;\n this.topLevel = false;\n // if this is true, writes (set) should never propagate upwards past\n // this frame to its parent (though reads may).\n this.isolateWrites = isolateWrites;\n }\n\n set(name, val, resolveUp) {\n // Allow variables with dots by automatically creating the\n // nested structure\n var parts = name.split('.');\n var obj = this.variables;\n var frame = this;\n\n if (resolveUp) {\n if ((frame = this.resolve(parts[0], true))) {\n frame.set(name, val);\n return;\n }\n }\n\n for (let i = 0; i < parts.length - 1; i++) {\n const id = parts[i];\n\n if (!obj[id]) {\n obj[id] = {};\n }\n obj = obj[id];\n }\n\n obj[parts[parts.length - 1]] = val;\n }\n\n get(name) {\n var val = this.variables[name];\n if (val !== undefined) {\n return val;\n }\n return null;\n }\n\n lookup(name) {\n var p = this.parent;\n var val = this.variables[name];\n if (val !== undefined) {\n return val;\n }\n return p && p.lookup(name);\n }\n\n resolve(name, forWrite) {\n var p = (forWrite && this.isolateWrites) ? undefined : this.parent;\n var val = this.variables[name];\n if (val !== undefined) {\n return this;\n }\n return p && p.resolve(name);\n }\n\n push(isolateWrites) {\n return new Frame(this, isolateWrites);\n }\n\n pop() {\n return this.parent;\n }\n}\n\nfunction makeMacro(argNames, kwargNames, func) {\n return (...macroArgs) => {\n var argCount = numArgs(macroArgs);\n var args;\n var kwargs = getKeywordArgs(macroArgs);\n\n if (argCount > argNames.length) {\n args = macroArgs.slice(0, argNames.length);\n\n // Positional arguments that should be passed in as\n // keyword arguments (essentially default values)\n macroArgs.slice(args.length, argCount).forEach((val, i) => {\n if (i < kwargNames.length) {\n kwargs[kwargNames[i]] = val;\n }\n });\n args.push(kwargs);\n } else if (argCount < argNames.length) {\n args = macroArgs.slice(0, argCount);\n\n for (let i = argCount; i < argNames.length; i++) {\n const arg = argNames[i];\n\n // Keyword arguments that should be passed as\n // positional arguments, i.e. the caller explicitly\n // used the name of a positional arg\n args.push(kwargs[arg]);\n delete kwargs[arg];\n }\n args.push(kwargs);\n } else {\n args = macroArgs;\n }\n\n return func.apply(this, args);\n };\n}\n\nfunction makeKeywordArgs(obj) {\n obj.__keywords = true;\n return obj;\n}\n\nfunction isKeywordArgs(obj) {\n return obj && Object.prototype.hasOwnProperty.call(obj, '__keywords');\n}\n\nfunction getKeywordArgs(args) {\n var len = args.length;\n if (len) {\n const lastArg = args[len - 1];\n if (isKeywordArgs(lastArg)) {\n return lastArg;\n }\n }\n return {};\n}\n\nfunction numArgs(args) {\n var len = args.length;\n if (len === 0) {\n return 0;\n }\n\n const lastArg = args[len - 1];\n if (isKeywordArgs(lastArg)) {\n return len - 1;\n } else {\n return len;\n }\n}\n\n// A SafeString object indicates that the string should not be\n// autoescaped. This happens magically because autoescaping only\n// occurs on primitive string objects.\nfunction SafeString(val) {\n if (typeof val !== 'string') {\n return val;\n }\n\n this.val = val;\n this.length = val.length;\n}\n\nSafeString.prototype = Object.create(String.prototype, {\n length: {\n writable: true,\n configurable: true,\n value: 0\n }\n});\nSafeString.prototype.valueOf = function valueOf() {\n return this.val;\n};\nSafeString.prototype.toString = function toString() {\n return this.val;\n};\n\nfunction copySafeness(dest, target) {\n if (dest instanceof SafeString) {\n return new SafeString(target);\n }\n return target.toString();\n}\n\nfunction markSafe(val) {\n var type = typeof val;\n\n if (type === 'string') {\n return new SafeString(val);\n } else if (type !== 'function') {\n return val;\n } else {\n return function wrapSafe(args) {\n var ret = val.apply(this, arguments);\n\n if (typeof ret === 'string') {\n return new SafeString(ret);\n }\n\n return ret;\n };\n }\n}\n\nfunction suppressValue(val, autoescape) {\n val = (val !== undefined && val !== null) ? val : '';\n\n if (autoescape && !(val instanceof SafeString)) {\n val = lib.escape(val.toString());\n }\n\n return val;\n}\n\nfunction ensureDefined(val, lineno, colno) {\n if (val === null || val === undefined) {\n throw new lib.TemplateError(\n 'attempted to output null or undefined value',\n lineno + 1,\n colno + 1\n );\n }\n return val;\n}\n\nfunction memberLookup(obj, val) {\n if (obj === undefined || obj === null) {\n return undefined;\n }\n\n if (typeof obj[val] === 'function') {\n return (...args) => obj[val].apply(obj, args);\n }\n\n return obj[val];\n}\n\nfunction callWrap(obj, name, context, args) {\n if (!obj) {\n throw new Error('Unable to call `' + name + '`, which is undefined or falsey');\n } else if (typeof obj !== 'function') {\n throw new Error('Unable to call `' + name + '`, which is not a function');\n }\n\n return obj.apply(context, args);\n}\n\nfunction contextOrFrameLookup(context, frame, name) {\n var val = frame.lookup(name);\n return (val !== undefined) ?\n val :\n context.lookup(name);\n}\n\nfunction handleError(error, lineno, colno) {\n if (error.lineno) {\n return error;\n } else {\n return new lib.TemplateError(error, lineno, colno);\n }\n}\n\nfunction asyncEach(arr, dimen, iter, cb) {\n if (lib.isArray(arr)) {\n const len = arr.length;\n\n lib.asyncIter(arr, function iterCallback(item, i, next) {\n switch (dimen) {\n case 1:\n iter(item, i, len, next);\n break;\n case 2:\n iter(item[0], item[1], i, len, next);\n break;\n case 3:\n iter(item[0], item[1], item[2], i, len, next);\n break;\n default:\n item.push(i, len, next);\n iter.apply(this, item);\n }\n }, cb);\n } else {\n lib.asyncFor(arr, function iterCallback(key, val, i, len, next) {\n iter(key, val, i, len, next);\n }, cb);\n }\n}\n\nfunction asyncAll(arr, dimen, func, cb) {\n var finished = 0;\n var len;\n var outputArr;\n\n function done(i, output) {\n finished++;\n outputArr[i] = output;\n\n if (finished === len) {\n cb(null, outputArr.join(''));\n }\n }\n\n if (lib.isArray(arr)) {\n len = arr.length;\n outputArr = new Array(len);\n\n if (len === 0) {\n cb(null, '');\n } else {\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n\n switch (dimen) {\n case 1:\n func(item, i, len, done);\n break;\n case 2:\n func(item[0], item[1], i, len, done);\n break;\n case 3:\n func(item[0], item[1], item[2], i, len, done);\n break;\n default:\n item.push(i, len, done);\n func.apply(this, item);\n }\n }\n }\n } else {\n const keys = lib.keys(arr || {});\n len = keys.length;\n outputArr = new Array(len);\n\n if (len === 0) {\n cb(null, '');\n } else {\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n func(k, arr[k], i, len, done);\n }\n }\n }\n}\n\nfunction fromIterator(arr) {\n if (typeof arr !== 'object' || arr === null || lib.isArray(arr)) {\n return arr;\n } else if (supportsIterators && Symbol.iterator in arr) {\n return arrayFrom(arr);\n } else {\n return arr;\n }\n}\n\nmodule.exports = {\n Frame: Frame,\n makeMacro: makeMacro,\n makeKeywordArgs: makeKeywordArgs,\n numArgs: numArgs,\n suppressValue: suppressValue,\n ensureDefined: ensureDefined,\n memberLookup: memberLookup,\n contextOrFrameLookup: contextOrFrameLookup,\n callWrap: callWrap,\n handleError: handleError,\n isArray: lib.isArray,\n keys: lib.keys,\n SafeString: SafeString,\n copySafeness: copySafeness,\n markSafe: markSafe,\n asyncEach: asyncEach,\n asyncAll: asyncAll,\n inOperator: lib.inOperator,\n fromIterator: fromIterator\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/runtime.js","'use strict';\n\nconst Loader = require('./loader');\n\nclass PrecompiledLoader extends Loader {\n constructor(compiledTemplates) {\n super();\n this.precompiled = compiledTemplates || {};\n }\n\n getSource(name) {\n if (this.precompiled[name]) {\n return {\n src: {\n type: 'code',\n obj: this.precompiled[name]\n },\n path: name\n };\n }\n return null;\n }\n}\n\nmodule.exports = {\n PrecompiledLoader: PrecompiledLoader,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/precompiled-loader.js","'use strict';\n\nconst path = require('path');\nconst Obj = require('./object');\n\nmodule.exports = class Loader extends Obj {\n on(name, func) {\n this.listeners = this.listeners || {};\n this.listeners[name] = this.listeners[name] || [];\n this.listeners[name].push(func);\n }\n\n emit(name, ...args) {\n if (this.listeners && this.listeners[name]) {\n this.listeners[name].forEach((listener) => {\n listener(...args);\n });\n }\n }\n\n resolve(from, to) {\n return path.resolve(path.dirname(from), to);\n }\n\n isRelative(filename) {\n return (filename.indexOf('./') === 0 || filename.indexOf('../') === 0);\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/loader.js","'use strict';\n\n// A simple class system, more documentation to come\nconst lib = require('./lib');\n\nfunction parentWrap(parent, prop) {\n if (typeof parent !== 'function' || typeof prop !== 'function') {\n return prop;\n }\n return function wrap() {\n // Save the current parent method\n const tmp = this.parent;\n\n // Set parent to the previous method, call, and restore\n this.parent = parent;\n const res = prop.apply(this, arguments);\n this.parent = tmp;\n\n return res;\n };\n}\n\nfunction extendClass(cls, name, props) {\n props = props || {};\n\n lib.keys(props).forEach(k => {\n props[k] = parentWrap(cls.prototype[k], props[k]);\n });\n\n class subclass extends cls {\n get typename() {\n return name;\n }\n }\n\n lib._assign(subclass.prototype, props);\n\n return subclass;\n}\n\nclass Obj {\n constructor(...args) {\n // Unfortunately necessary for backwards compatibility\n this.init(...args);\n }\n\n init() {}\n\n get typename() {\n return this.constructor.name;\n }\n\n static extend(name, props) {\n if (typeof name === 'object') {\n props = name;\n name = 'anonymous';\n }\n return extendClass(this, name, props);\n }\n}\n\nmodule.exports = Obj;\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/object.js","'use strict';\n\nconst lib = require('./src/lib');\nconst {Environment, Template} = require('./src/environment');\nconst Loader = require('./src/loader');\nconst loaders = require('./src/loaders');\nconst precompile = require('./src/precompile');\nconst compiler = require('./src/compiler');\nconst parser = require('./src/parser');\nconst lexer = require('./src/lexer');\nconst runtime = require('./src/runtime');\nconst nodes = require('./src/nodes');\nconst installJinjaCompat = require('./src/jinja-compat');\n\n// A single instance of an environment, since this is so commonly used\nlet e;\n\nfunction configure(templatesPath, opts) {\n opts = opts || {};\n if (lib.isObject(templatesPath)) {\n opts = templatesPath;\n templatesPath = null;\n }\n\n let TemplateLoader;\n if (loaders.FileSystemLoader) {\n TemplateLoader = new loaders.FileSystemLoader(templatesPath, {\n watch: opts.watch,\n noCache: opts.noCache\n });\n } else if (loaders.WebLoader) {\n TemplateLoader = new loaders.WebLoader(templatesPath, {\n useCache: opts.web && opts.web.useCache,\n async: opts.web && opts.web.async\n });\n }\n\n e = new Environment(TemplateLoader, opts);\n\n if (opts && opts.express) {\n e.express(opts.express);\n }\n\n return e;\n}\n\nmodule.exports = {\n Environment: Environment,\n Template: Template,\n Loader: Loader,\n FileSystemLoader: loaders.FileSystemLoader,\n PrecompiledLoader: loaders.PrecompiledLoader,\n WebLoader: loaders.WebLoader,\n compiler: compiler,\n parser: parser,\n lexer: lexer,\n runtime: runtime,\n lib: lib,\n nodes: nodes,\n installJinjaCompat: installJinjaCompat,\n configure: configure,\n reset() {\n e = undefined;\n },\n compile(src, env, path, eagerCompile) {\n if (!e) {\n configure();\n }\n return new Template(src, env, path, eagerCompile);\n },\n render(name, ctx, cb) {\n if (!e) {\n configure();\n }\n\n return e.render(name, ctx, cb);\n },\n renderString(src, ctx, cb) {\n if (!e) {\n configure();\n }\n\n return e.renderString(src, ctx, cb);\n },\n precompile: (precompile) ? precompile.precompile : undefined,\n precompileString: (precompile) ? precompile.precompileString : undefined,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/index.js","'use strict';\n\nconst asap = require('asap');\nconst waterfall = require('a-sync-waterfall');\nconst lib = require('./lib');\nconst compiler = require('./compiler');\nconst filters = require('./filters');\nconst {FileSystemLoader, WebLoader, PrecompiledLoader} = require('./loaders');\nconst tests = require('./tests');\nconst globals = require('./globals');\nconst Obj = require('./object');\nconst globalRuntime = require('./runtime');\nconst {handleError, Frame} = globalRuntime;\nconst expressApp = require('./express-app');\n\n// If the user is using the async API, *always* call it\n// asynchronously even if the template was synchronous.\nfunction callbackAsap(cb, err, res) {\n asap(() => {\n cb(err, res);\n });\n}\n\n/**\n * A no-op template, for use with {% include ignore missing %}\n */\nconst noopTmplSrc = {\n type: 'code',\n obj: {\n root(env, context, frame, runtime, cb) {\n try {\n cb(null, '');\n } catch (e) {\n cb(handleError(e, null, null));\n }\n }\n }\n};\n\nclass Environment extends Obj {\n init(loaders, opts) {\n // The dev flag determines the trace that'll be shown on errors.\n // If set to true, returns the full trace from the error point,\n // otherwise will return trace starting from Template.render\n // (the full trace from within nunjucks may confuse developers using\n // the library)\n // defaults to false\n opts = this.opts = opts || {};\n this.opts.dev = !!opts.dev;\n\n // The autoescape flag sets global autoescaping. If true,\n // every string variable will be escaped by default.\n // If false, strings can be manually escaped using the `escape` filter.\n // defaults to true\n this.opts.autoescape = opts.autoescape != null ? opts.autoescape : true;\n\n // If true, this will make the system throw errors if trying\n // to output a null or undefined value\n this.opts.throwOnUndefined = !!opts.throwOnUndefined;\n this.opts.trimBlocks = !!opts.trimBlocks;\n this.opts.lstripBlocks = !!opts.lstripBlocks;\n\n this.loaders = [];\n\n if (!loaders) {\n // The filesystem loader is only available server-side\n if (FileSystemLoader) {\n this.loaders = [new FileSystemLoader('views')];\n } else if (WebLoader) {\n this.loaders = [new WebLoader('/views')];\n }\n } else {\n this.loaders = lib.isArray(loaders) ? loaders : [loaders];\n }\n\n // It's easy to use precompiled templates: just include them\n // before you configure nunjucks and this will automatically\n // pick it up and use it\n if (typeof window !== 'undefined' && window.nunjucksPrecompiled) {\n this.loaders.unshift(\n new PrecompiledLoader(window.nunjucksPrecompiled)\n );\n }\n\n this.initCache();\n\n this.globals = globals();\n this.filters = {};\n this.tests = {};\n this.asyncFilters = [];\n this.extensions = {};\n this.extensionsList = [];\n\n lib._entries(filters).forEach(([name, filter]) => this.addFilter(name, filter));\n lib._entries(tests).forEach(([name, test]) => this.addTest(name, test));\n }\n\n initCache() {\n // Caching and cache busting\n this.loaders.forEach((loader) => {\n loader.cache = {};\n if (typeof loader.on === 'function') {\n loader.on('update', (template) => {\n loader.cache[template] = null;\n });\n }\n });\n }\n\n addExtension(name, extension) {\n extension.__name = name;\n this.extensions[name] = extension;\n this.extensionsList.push(extension);\n return this;\n }\n\n removeExtension(name) {\n var extension = this.getExtension(name);\n if (!extension) {\n return;\n }\n\n this.extensionsList = lib.without(this.extensionsList, extension);\n delete this.extensions[name];\n }\n\n getExtension(name) {\n return this.extensions[name];\n }\n\n hasExtension(name) {\n return !!this.extensions[name];\n }\n\n addGlobal(name, value) {\n this.globals[name] = value;\n return this;\n }\n\n getGlobal(name) {\n if (typeof this.globals[name] === 'undefined') {\n throw new Error('global not found: ' + name);\n }\n return this.globals[name];\n }\n\n addFilter(name, func, async) {\n var wrapped = func;\n\n if (async) {\n this.asyncFilters.push(name);\n }\n this.filters[name] = wrapped;\n return this;\n }\n\n getFilter(name) {\n if (!this.filters[name]) {\n throw new Error('filter not found: ' + name);\n }\n return this.filters[name];\n }\n\n addTest(name, func) {\n this.tests[name] = func;\n return this;\n }\n\n getTest(name) {\n if (!this.tests[name]) {\n throw new Error('test not found: ' + name);\n }\n return this.tests[name];\n }\n\n resolveTemplate(loader, parentName, filename) {\n var isRelative = (loader.isRelative && parentName) ? loader.isRelative(filename) : false;\n return (isRelative && loader.resolve) ? loader.resolve(parentName, filename) : filename;\n }\n\n getTemplate(name, eagerCompile, parentName, ignoreMissing, cb) {\n var that = this;\n var tmpl = null;\n if (name && name.raw) {\n // this fixes autoescape for templates referenced in symbols\n name = name.raw;\n }\n\n if (lib.isFunction(parentName)) {\n cb = parentName;\n parentName = null;\n eagerCompile = eagerCompile || false;\n }\n\n if (lib.isFunction(eagerCompile)) {\n cb = eagerCompile;\n eagerCompile = false;\n }\n\n if (name instanceof Template) {\n tmpl = name;\n } else if (typeof name !== 'string') {\n throw new Error('template names must be a string: ' + name);\n } else {\n for (let i = 0; i < this.loaders.length; i++) {\n const loader = this.loaders[i];\n tmpl = loader.cache[this.resolveTemplate(loader, parentName, name)];\n if (tmpl) {\n break;\n }\n }\n }\n\n if (tmpl) {\n if (eagerCompile) {\n tmpl.compile();\n }\n\n if (cb) {\n cb(null, tmpl);\n return undefined;\n } else {\n return tmpl;\n }\n }\n let syncResult;\n\n const createTemplate = (err, info) => {\n if (!info && !err && !ignoreMissing) {\n err = new Error('template not found: ' + name);\n }\n\n if (err) {\n if (cb) {\n cb(err);\n return;\n } else {\n throw err;\n }\n }\n let newTmpl;\n if (!info) {\n newTmpl = new Template(noopTmplSrc, this, '', eagerCompile);\n } else {\n newTmpl = new Template(info.src, this, info.path, eagerCompile);\n if (!info.noCache) {\n info.loader.cache[name] = newTmpl;\n }\n }\n if (cb) {\n cb(null, newTmpl);\n } else {\n syncResult = newTmpl;\n }\n };\n\n lib.asyncIter(this.loaders, (loader, i, next, done) => {\n function handle(err, src) {\n if (err) {\n done(err);\n } else if (src) {\n src.loader = loader;\n done(null, src);\n } else {\n next();\n }\n }\n\n // Resolve name relative to parentName\n name = that.resolveTemplate(loader, parentName, name);\n\n if (loader.async) {\n loader.getSource(name, handle);\n } else {\n handle(null, loader.getSource(name));\n }\n }, createTemplate);\n\n return syncResult;\n }\n\n express(app) {\n return expressApp(this, app);\n }\n\n render(name, ctx, cb) {\n if (lib.isFunction(ctx)) {\n cb = ctx;\n ctx = null;\n }\n\n // We support a synchronous API to make it easier to migrate\n // existing code to async. This works because if you don't do\n // anything async work, the whole thing is actually run\n // synchronously.\n let syncResult = null;\n\n this.getTemplate(name, (err, tmpl) => {\n if (err && cb) {\n callbackAsap(cb, err);\n } else if (err) {\n throw err;\n } else {\n syncResult = tmpl.render(ctx, cb);\n }\n });\n\n return syncResult;\n }\n\n renderString(src, ctx, opts, cb) {\n if (lib.isFunction(opts)) {\n cb = opts;\n opts = {};\n }\n opts = opts || {};\n\n const tmpl = new Template(src, this, opts.path);\n return tmpl.render(ctx, cb);\n }\n\n waterfall(tasks, callback, forceAsync) {\n return waterfall(tasks, callback, forceAsync);\n }\n}\n\nclass Context extends Obj {\n init(ctx, blocks, env) {\n // Has to be tied to an environment so we can tap into its globals.\n this.env = env || new Environment();\n\n // Make a duplicate of ctx\n this.ctx = lib.extend({}, ctx);\n\n this.blocks = {};\n this.exported = [];\n\n lib.keys(blocks).forEach(name => {\n this.addBlock(name, blocks[name]);\n });\n }\n\n lookup(name) {\n // This is one of the most called functions, so optimize for\n // the typical case where the name isn't in the globals\n if (name in this.env.globals && !(name in this.ctx)) {\n return this.env.globals[name];\n } else {\n return this.ctx[name];\n }\n }\n\n setVariable(name, val) {\n this.ctx[name] = val;\n }\n\n getVariables() {\n return this.ctx;\n }\n\n addBlock(name, block) {\n this.blocks[name] = this.blocks[name] || [];\n this.blocks[name].push(block);\n return this;\n }\n\n getBlock(name) {\n if (!this.blocks[name]) {\n throw new Error('unknown block \"' + name + '\"');\n }\n\n return this.blocks[name][0];\n }\n\n getSuper(env, name, block, frame, runtime, cb) {\n var idx = lib.indexOf(this.blocks[name] || [], block);\n var blk = this.blocks[name][idx + 1];\n var context = this;\n\n if (idx === -1 || !blk) {\n throw new Error('no super block available for \"' + name + '\"');\n }\n\n blk(env, context, frame, runtime, cb);\n }\n\n addExport(name) {\n this.exported.push(name);\n }\n\n getExported() {\n var exported = {};\n this.exported.forEach((name) => {\n exported[name] = this.ctx[name];\n });\n return exported;\n }\n}\n\nclass Template extends Obj {\n init(src, env, path, eagerCompile) {\n this.env = env || new Environment();\n\n if (lib.isObject(src)) {\n switch (src.type) {\n case 'code':\n this.tmplProps = src.obj;\n break;\n case 'string':\n this.tmplStr = src.obj;\n break;\n default:\n throw new Error(\n `Unexpected template object type ${src.type}; expected 'code', or 'string'`);\n }\n } else if (lib.isString(src)) {\n this.tmplStr = src;\n } else {\n throw new Error('src must be a string or an object describing the source');\n }\n\n this.path = path;\n\n if (eagerCompile) {\n try {\n this._compile();\n } catch (err) {\n throw lib._prettifyError(this.path, this.env.opts.dev, err);\n }\n } else {\n this.compiled = false;\n }\n }\n\n render(ctx, parentFrame, cb) {\n if (typeof ctx === 'function') {\n cb = ctx;\n ctx = {};\n } else if (typeof parentFrame === 'function') {\n cb = parentFrame;\n parentFrame = null;\n }\n\n // If there is a parent frame, we are being called from internal\n // code of another template, and the internal system\n // depends on the sync/async nature of the parent template\n // to be inherited, so force an async callback\n const forceAsync = !parentFrame;\n\n // Catch compile errors for async rendering\n try {\n this.compile();\n } catch (e) {\n const err = lib._prettifyError(this.path, this.env.opts.dev, e);\n if (cb) {\n return callbackAsap(cb, err);\n } else {\n throw err;\n }\n }\n\n const context = new Context(ctx || {}, this.blocks, this.env);\n const frame = parentFrame ? parentFrame.push(true) : new Frame();\n frame.topLevel = true;\n let syncResult = null;\n let didError = false;\n\n this.rootRenderFunc(this.env, context, frame, globalRuntime, (err, res) => {\n if (didError) {\n // prevent multiple calls to cb\n return;\n }\n if (err) {\n err = lib._prettifyError(this.path, this.env.opts.dev, err);\n didError = true;\n }\n\n if (cb) {\n if (forceAsync) {\n callbackAsap(cb, err, res);\n } else {\n cb(err, res);\n }\n } else {\n if (err) {\n throw err;\n }\n syncResult = res;\n }\n });\n\n return syncResult;\n }\n\n\n getExported(ctx, parentFrame, cb) { // eslint-disable-line consistent-return\n if (typeof ctx === 'function') {\n cb = ctx;\n ctx = {};\n }\n\n if (typeof parentFrame === 'function') {\n cb = parentFrame;\n parentFrame = null;\n }\n\n // Catch compile errors for async rendering\n try {\n this.compile();\n } catch (e) {\n if (cb) {\n return cb(e);\n } else {\n throw e;\n }\n }\n\n const frame = parentFrame ? parentFrame.push() : new Frame();\n frame.topLevel = true;\n\n // Run the rootRenderFunc to populate the context with exported vars\n const context = new Context(ctx || {}, this.blocks, this.env);\n this.rootRenderFunc(this.env, context, frame, globalRuntime, (err) => {\n if (err) {\n cb(err, null);\n } else {\n cb(null, context.getExported());\n }\n });\n }\n\n compile() {\n if (!this.compiled) {\n this._compile();\n }\n }\n\n _compile() {\n var props;\n\n if (this.tmplProps) {\n props = this.tmplProps;\n } else {\n const source = compiler.compile(this.tmplStr,\n this.env.asyncFilters,\n this.env.extensionsList,\n this.path,\n this.env.opts);\n\n const func = new Function(source); // eslint-disable-line no-new-func\n props = func();\n }\n\n this.blocks = this._getBlocks(props);\n this.rootRenderFunc = props.root;\n this.compiled = true;\n }\n\n _getBlocks(props) {\n var blocks = {};\n\n lib.keys(props).forEach((k) => {\n if (k.slice(0, 2) === 'b_') {\n blocks[k.slice(2)] = props[k];\n }\n });\n\n return blocks;\n }\n}\n\nmodule.exports = {\n Environment: Environment,\n Template: Template\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/environment.js","\"use strict\";\n\n// rawAsap provides everything we need except exception management.\nvar rawAsap = require(\"./raw\");\n// RawTasks are recycled to reduce GC churn.\nvar freeTasks = [];\n// We queue errors to ensure they are thrown in right order (FIFO).\n// Array-as-queue is good enough here, since we are just dealing with exceptions.\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n}\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawAsap(rawTask);\n}\n\n// We wrap tasks with recyclable task objects. A task object implements\n// `call`, just like a function.\nfunction RawTask() {\n this.task = null;\n}\n\n// The sole purpose of wrapping the task is to catch the exception and recycle\n// the task object after its single use.\nRawTask.prototype.call = function () {\n try {\n this.task.call();\n } catch (error) {\n if (asap.onerror) {\n // This hook exists purely for testing purposes.\n // Its name will be periodically randomized to break any code that\n // depends on its existence.\n asap.onerror(error);\n } else {\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n pendingErrors.push(error);\n requestErrorThrow();\n }\n } finally {\n this.task = null;\n freeTasks[freeTasks.length] = this;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/asap/browser-asap.js\n// module id = 8\n// module chunks = 0","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/asap/browser-raw.js\n// module id = 9\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 10\n// module chunks = 0","// MIT license (by Elan Shanker).\n(function(globals) {\n 'use strict';\n\n var executeSync = function(){\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'function'){\n args[0].apply(null, args.splice(1));\n }\n };\n\n var executeAsync = function(fn){\n if (typeof setImmediate === 'function') {\n setImmediate(fn);\n } else if (typeof process !== 'undefined' && process.nextTick) {\n process.nextTick(fn);\n } else {\n setTimeout(fn, 0);\n }\n };\n\n var makeIterator = function (tasks) {\n var makeCallback = function (index) {\n var fn = function () {\n if (tasks.length) {\n tasks[index].apply(null, arguments);\n }\n return fn.next();\n };\n fn.next = function () {\n return (index < tasks.length - 1) ? makeCallback(index + 1): null;\n };\n return fn;\n };\n return makeCallback(0);\n };\n \n var _isArray = Array.isArray || function(maybeArray){\n return Object.prototype.toString.call(maybeArray) === '[object Array]';\n };\n\n var waterfall = function (tasks, callback, forceAsync) {\n var nextTick = forceAsync ? executeAsync : executeSync;\n callback = callback || function () {};\n if (!_isArray(tasks)) {\n var err = new Error('First argument to waterfall must be an array of functions');\n return callback(err);\n }\n if (!tasks.length) {\n return callback();\n }\n var wrapIterator = function (iterator) {\n return function (err) {\n if (err) {\n callback.apply(null, arguments);\n callback = function () {};\n } else {\n var args = Array.prototype.slice.call(arguments, 1);\n var next = iterator.next();\n if (next) {\n args.push(wrapIterator(next));\n } else {\n args.push(callback);\n }\n nextTick(function () {\n iterator.apply(null, args);\n });\n }\n };\n };\n wrapIterator(makeIterator(tasks))();\n };\n\n if (typeof define !== 'undefined' && define.amd) {\n define([], function () {\n return waterfall;\n }); // RequireJS\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = waterfall; // CommonJS\n } else {\n globals.waterfall = waterfall; // <script>\n }\n})(this);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/a-sync-waterfall/index.js\n// module id = 11\n// module chunks = 0","'use strict';\n\nvar lib = require('./lib');\nvar r = require('./runtime');\n\nvar exports = module.exports = {};\n\nfunction normalize(value, defaultValue) {\n if (value === null || value === undefined || value === false) {\n return defaultValue;\n }\n return value;\n}\n\nexports.abs = Math.abs;\n\nfunction isNaN(num) {\n return num !== num; // eslint-disable-line no-self-compare\n}\n\nfunction batch(arr, linecount, fillWith) {\n var i;\n var res = [];\n var tmp = [];\n\n for (i = 0; i < arr.length; i++) {\n if (i % linecount === 0 && tmp.length) {\n res.push(tmp);\n tmp = [];\n }\n\n tmp.push(arr[i]);\n }\n\n if (tmp.length) {\n if (fillWith) {\n for (i = tmp.length; i < linecount; i++) {\n tmp.push(fillWith);\n }\n }\n\n res.push(tmp);\n }\n\n return res;\n}\n\nexports.batch = batch;\n\nfunction capitalize(str) {\n str = normalize(str, '');\n const ret = str.toLowerCase();\n return r.copySafeness(str, ret.charAt(0).toUpperCase() + ret.slice(1));\n}\n\nexports.capitalize = capitalize;\n\nfunction center(str, width) {\n str = normalize(str, '');\n width = width || 80;\n\n if (str.length >= width) {\n return str;\n }\n\n const spaces = width - str.length;\n const pre = lib.repeat(' ', (spaces / 2) - (spaces % 2));\n const post = lib.repeat(' ', spaces / 2);\n return r.copySafeness(str, pre + str + post);\n}\n\nexports.center = center;\n\nfunction default_(val, def, bool) {\n if (bool) {\n return val || def;\n } else {\n return (val !== undefined) ? val : def;\n }\n}\n\n// TODO: it is confusing to export something called 'default'\nexports['default'] = default_; // eslint-disable-line dot-notation\n\nfunction dictsort(val, caseSensitive, by) {\n if (!lib.isObject(val)) {\n throw new lib.TemplateError('dictsort filter: val must be an object');\n }\n\n let array = [];\n // deliberately include properties from the object's prototype\n for (let k in val) { // eslint-disable-line guard-for-in, no-restricted-syntax\n array.push([k, val[k]]);\n }\n\n let si;\n if (by === undefined || by === 'key') {\n si = 0;\n } else if (by === 'value') {\n si = 1;\n } else {\n throw new lib.TemplateError(\n 'dictsort filter: You can only sort by either key or value');\n }\n\n array.sort((t1, t2) => {\n var a = t1[si];\n var b = t2[si];\n\n if (!caseSensitive) {\n if (lib.isString(a)) {\n a = a.toUpperCase();\n }\n if (lib.isString(b)) {\n b = b.toUpperCase();\n }\n }\n\n return a > b ? 1 : (a === b ? 0 : -1); // eslint-disable-line no-nested-ternary\n });\n\n return array;\n}\n\nexports.dictsort = dictsort;\n\nfunction dump(obj, spaces) {\n return JSON.stringify(obj, null, spaces);\n}\n\nexports.dump = dump;\n\nfunction escape(str) {\n if (str instanceof r.SafeString) {\n return str;\n }\n str = (str === null || str === undefined) ? '' : str;\n return r.markSafe(lib.escape(str.toString()));\n}\n\nexports.escape = escape;\n\nfunction safe(str) {\n if (str instanceof r.SafeString) {\n return str;\n }\n str = (str === null || str === undefined) ? '' : str;\n return r.markSafe(str.toString());\n}\n\nexports.safe = safe;\n\nfunction first(arr) {\n return arr[0];\n}\n\nexports.first = first;\n\nfunction forceescape(str) {\n str = (str === null || str === undefined) ? '' : str;\n return r.markSafe(lib.escape(str.toString()));\n}\n\nexports.forceescape = forceescape;\n\nfunction groupby(arr, attr) {\n return lib.groupBy(arr, attr);\n}\n\nexports.groupby = groupby;\n\nfunction indent(str, width, indentfirst) {\n str = normalize(str, '');\n\n if (str === '') {\n return '';\n }\n\n width = width || 4;\n // let res = '';\n const lines = str.split('\\n');\n const sp = lib.repeat(' ', width);\n\n const res = lines.map((l, i) => {\n return (i === 0 && !indentfirst) ? `${l}\\n` : `${sp}${l}\\n`;\n }).join('');\n\n return r.copySafeness(str, res);\n}\n\nexports.indent = indent;\n\nfunction join(arr, del, attr) {\n del = del || '';\n\n if (attr) {\n arr = lib.map(arr, (v) => v[attr]);\n }\n\n return arr.join(del);\n}\n\nexports.join = join;\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}\n\nexports.last = last;\n\nfunction lengthFilter(val) {\n var value = normalize(val, '');\n\n if (value !== undefined) {\n if (\n (typeof Map === 'function' && value instanceof Map) ||\n (typeof Set === 'function' && value instanceof Set)\n ) {\n // ECMAScript 2015 Maps and Sets\n return value.size;\n }\n if (lib.isObject(value) && !(value instanceof r.SafeString)) {\n // Objects (besides SafeStrings), non-primative Arrays\n return lib.keys(value).length;\n }\n return value.length;\n }\n return 0;\n}\n\nexports.length = lengthFilter;\n\nfunction list(val) {\n if (lib.isString(val)) {\n return val.split('');\n } else if (lib.isObject(val)) {\n return lib._entries(val || {}).map(([key, value]) => ({key, value}));\n } else if (lib.isArray(val)) {\n return val;\n } else {\n throw new lib.TemplateError('list filter: type not iterable');\n }\n}\n\nexports.list = list;\n\nfunction lower(str) {\n str = normalize(str, '');\n return str.toLowerCase();\n}\n\nexports.lower = lower;\n\nfunction nl2br(str) {\n if (str === null || str === undefined) {\n return '';\n }\n return r.copySafeness(str, str.replace(/\\r\\n|\\n/g, '<br />\\n'));\n}\n\nexports.nl2br = nl2br;\n\nfunction random(arr) {\n return arr[Math.floor(Math.random() * arr.length)];\n}\n\nexports.random = random;\n\nfunction rejectattr(arr, attr) {\n return arr.filter((item) => !item[attr]);\n}\n\nexports.rejectattr = rejectattr;\n\nfunction selectattr(arr, attr) {\n return arr.filter((item) => !!item[attr]);\n}\n\nexports.selectattr = selectattr;\n\nfunction replace(str, old, new_, maxCount) {\n var originalStr = str;\n\n if (old instanceof RegExp) {\n return str.replace(old, new_);\n }\n\n if (typeof maxCount === 'undefined') {\n maxCount = -1;\n }\n\n let res = ''; // Output\n\n // Cast Numbers in the search term to string\n if (typeof old === 'number') {\n old = '' + old;\n } else if (typeof old !== 'string') {\n // If it is something other than number or string,\n // return the original string\n return str;\n }\n\n // Cast numbers in the replacement to string\n if (typeof str === 'number') {\n str = '' + str;\n }\n\n // If by now, we don't have a string, throw it back\n if (typeof str !== 'string' && !(str instanceof r.SafeString)) {\n return str;\n }\n\n // ShortCircuits\n if (old === '') {\n // Mimic the python behaviour: empty string is replaced\n // by replacement e.g. \"abc\"|replace(\"\", \".\") -> .a.b.c.\n res = new_ + str.split('').join(new_) + new_;\n return r.copySafeness(str, res);\n }\n\n let nextIndex = str.indexOf(old);\n // if # of replacements to perform is 0, or the string to does\n // not contain the old value, return the string\n if (maxCount === 0 || nextIndex === -1) {\n return str;\n }\n\n let pos = 0;\n let count = 0; // # of replacements made\n\n while (nextIndex > -1 && (maxCount === -1 || count < maxCount)) {\n // Grab the next chunk of src string and add it with the\n // replacement, to the result\n res += str.substring(pos, nextIndex) + new_;\n // Increment our pointer in the src string\n pos = nextIndex + old.length;\n count++;\n // See if there are any more replacements to be made\n nextIndex = str.indexOf(old, pos);\n }\n\n // We've either reached the end, or done the max # of\n // replacements, tack on any remaining string\n if (pos < str.length) {\n res += str.substring(pos);\n }\n\n return r.copySafeness(originalStr, res);\n}\n\nexports.replace = replace;\n\nfunction reverse(val) {\n var arr;\n if (lib.isString(val)) {\n arr = list(val);\n } else {\n // Copy it\n arr = lib.map(val, v => v);\n }\n\n arr.reverse();\n\n if (lib.isString(val)) {\n return r.copySafeness(val, arr.join(''));\n }\n return arr;\n}\n\nexports.reverse = reverse;\n\nfunction round(val, precision, method) {\n precision = precision || 0;\n const factor = Math.pow(10, precision);\n let rounder;\n\n if (method === 'ceil') {\n rounder = Math.ceil;\n } else if (method === 'floor') {\n rounder = Math.floor;\n } else {\n rounder = Math.round;\n }\n\n return rounder(val * factor) / factor;\n}\n\nexports.round = round;\n\nfunction slice(arr, slices, fillWith) {\n const sliceLength = Math.floor(arr.length / slices);\n const extra = arr.length % slices;\n const res = [];\n let offset = 0;\n\n for (let i = 0; i < slices; i++) {\n const start = offset + (i * sliceLength);\n if (i < extra) {\n offset++;\n }\n const end = offset + ((i + 1) * sliceLength);\n\n const currSlice = arr.slice(start, end);\n if (fillWith && i >= extra) {\n currSlice.push(fillWith);\n }\n res.push(currSlice);\n }\n\n return res;\n}\n\nexports.slice = slice;\n\nfunction sum(arr, attr, start = 0) {\n if (attr) {\n arr = lib.map(arr, (v) => v[attr]);\n }\n\n return start + arr.reduce((a, b) => a + b, 0);\n}\n\nexports.sum = sum;\n\nexports.sort = r.makeMacro(\n ['value', 'reverse', 'case_sensitive', 'attribute'], [],\n (arr, reversed, caseSens, attr) => {\n // Copy it\n let array = lib.map(arr, v => v);\n\n array.sort((a, b) => {\n let x = (attr) ? a[attr] : a;\n let y = (attr) ? b[attr] : b;\n\n if (!caseSens && lib.isString(x) && lib.isString(y)) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n\n if (x < y) {\n return reversed ? 1 : -1;\n } else if (x > y) {\n return reversed ? -1 : 1;\n } else {\n return 0;\n }\n });\n\n return array;\n });\n\nfunction string(obj) {\n return r.copySafeness(obj, obj);\n}\n\nexports.string = string;\n\nfunction striptags(input, preserveLinebreaks) {\n input = normalize(input, '');\n let tags = /<\\/?([a-z][a-z0-9]*)\\b[^>]*>|<!--[\\s\\S]*?-->/gi;\n let trimmedInput = trim(input.replace(tags, ''));\n let res = '';\n if (preserveLinebreaks) {\n res = trimmedInput\n .replace(/^ +| +$/gm, '') // remove leading and trailing spaces\n .replace(/ +/g, ' ') // squash adjacent spaces\n .replace(/(\\r\\n)/g, '\\n') // normalize linebreaks (CRLF -> LF)\n .replace(/\\n\\n\\n+/g, '\\n\\n'); // squash abnormal adjacent linebreaks\n } else {\n res = trimmedInput.replace(/\\s+/gi, ' ');\n }\n return r.copySafeness(input, res);\n}\n\nexports.striptags = striptags;\n\nfunction title(str) {\n str = normalize(str, '');\n let words = str.split(' ').map(word => capitalize(word));\n return r.copySafeness(str, words.join(' '));\n}\n\nexports.title = title;\n\nfunction trim(str) {\n return r.copySafeness(str, str.replace(/^\\s*|\\s*$/g, ''));\n}\n\nexports.trim = trim;\n\nfunction truncate(input, length, killwords, end) {\n var orig = input;\n input = normalize(input, '');\n length = length || 255;\n\n if (input.length <= length) {\n return input;\n }\n\n if (killwords) {\n input = input.substring(0, length);\n } else {\n let idx = input.lastIndexOf(' ', length);\n if (idx === -1) {\n idx = length;\n }\n\n input = input.substring(0, idx);\n }\n\n input += (end !== undefined && end !== null) ? end : '...';\n return r.copySafeness(orig, input);\n}\n\nexports.truncate = truncate;\n\nfunction upper(str) {\n str = normalize(str, '');\n return str.toUpperCase();\n}\n\nexports.upper = upper;\n\nfunction urlencode(obj) {\n var enc = encodeURIComponent;\n if (lib.isString(obj)) {\n return enc(obj);\n } else {\n let keyvals = (lib.isArray(obj)) ? obj : lib._entries(obj);\n return keyvals.map(([k, v]) => `${enc(k)}=${enc(v)}`).join('&');\n }\n}\n\nexports.urlencode = urlencode;\n\n// For the jinja regexp, see\n// https://github.com/mitsuhiko/jinja2/blob/f15b814dcba6aa12bc74d1f7d0c881d55f7126be/jinja2/utils.py#L20-L23\nconst puncRe = /^(?:\\(|<|<)?(.*?)(?:\\.|,|\\)|\\n|>)?$/;\n// from http://blog.gerv.net/2011/05/html5_email_address_regexp/\nconst emailRe = /^[\\w.!#$%&'*+\\-\\/=?\\^`{|}~]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)+$/i;\nconst httpHttpsRe = /^https?:\\/\\/.*$/;\nconst wwwRe = /^www\\./;\nconst tldRe = /\\.(?:org|net|com)(?:\\:|\\/|$)/;\n\nfunction urlize(str, length, nofollow) {\n if (isNaN(length)) {\n length = Infinity;\n }\n\n const noFollowAttr = (nofollow === true ? ' rel=\"nofollow\"' : '');\n\n const words = str.split(/(\\s+)/).filter((word) => {\n // If the word has no length, bail. This can happen for str with\n // trailing whitespace.\n return word && word.length;\n }).map((word) => {\n var matches = word.match(puncRe);\n var possibleUrl = (matches) ? matches[1] : word;\n var shortUrl = possibleUrl.substr(0, length);\n\n // url that starts with http or https\n if (httpHttpsRe.test(possibleUrl)) {\n return `<a href=\"${possibleUrl}\"${noFollowAttr}>${shortUrl}</a>`;\n }\n\n // url that starts with www.\n if (wwwRe.test(possibleUrl)) {\n return `<a href=\"http://${possibleUrl}\"${noFollowAttr}>${shortUrl}</a>`;\n }\n\n // an email address of the form username@domain.tld\n if (emailRe.test(possibleUrl)) {\n return `<a href=\"mailto:${possibleUrl}\">${possibleUrl}</a>`;\n }\n\n // url that ends in .com, .org or .net that is not an email address\n if (tldRe.test(possibleUrl)) {\n return `<a href=\"http://${possibleUrl}\"${noFollowAttr}>${shortUrl}</a>`;\n }\n\n return word;\n });\n\n return words.join('');\n}\n\nexports.urlize = urlize;\n\nfunction wordcount(str) {\n str = normalize(str, '');\n const words = (str) ? str.match(/\\w+/g) : null;\n return (words) ? words.length : null;\n}\n\nexports.wordcount = wordcount;\n\nfunction float(val, def) {\n var res = parseFloat(val);\n return (isNaN(res)) ? def : res;\n}\n\nexports.float = float;\n\nfunction int(val, def) {\n var res = parseInt(val, 10);\n return (isNaN(res)) ? def : res;\n}\n\nexports.int = int;\n\n// Aliases\nexports.d = exports.default;\nexports.e = exports.escape;\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/filters.js","'use strict';\n\nvar SafeString = require('./runtime').SafeString;\n\n/**\n * Returns `true` if the object is a function, otherwise `false`.\n * @param { any } value\n * @returns { boolean }\n */\nfunction callable(value) {\n return typeof value === 'function';\n}\n\nexports.callable = callable;\n\n/**\n * Returns `true` if the object is strictly not `undefined`.\n * @param { any } value\n * @returns { boolean }\n */\nfunction defined(value) {\n return value !== undefined;\n}\n\nexports.defined = defined;\n\n/**\n * Returns `true` if the operand (one) is divisble by the test's argument\n * (two).\n * @param { number } one\n * @param { number } two\n * @returns { boolean }\n */\nfunction divisibleby(one, two) {\n return (one % two) === 0;\n}\n\nexports.divisibleby = divisibleby;\n\n/**\n * Returns true if the string has been escaped (i.e., is a SafeString).\n * @param { any } value\n * @returns { boolean }\n */\nfunction escaped(value) {\n return value instanceof SafeString;\n}\n\nexports.escaped = escaped;\n\n/**\n * Returns `true` if the arguments are strictly equal.\n * @param { any } one\n * @param { any } two\n */\nfunction equalto(one, two) {\n return one === two;\n}\n\nexports.equalto = equalto;\n\n// Aliases\nexports.eq = exports.equalto;\nexports.sameas = exports.equalto;\n\n/**\n * Returns `true` if the value is evenly divisible by 2.\n * @param { number } value\n * @returns { boolean }\n */\nfunction even(value) {\n return value % 2 === 0;\n}\n\nexports.even = even;\n\n/**\n * Returns `true` if the value is falsy - if I recall correctly, '', 0, false,\n * undefined, NaN or null. I don't know if we should stick to the default JS\n * behavior or attempt to replicate what Python believes should be falsy (i.e.,\n * empty arrays, empty dicts, not 0...).\n * @param { any } value\n * @returns { boolean }\n */\nfunction falsy(value) {\n return !value;\n}\n\nexports.falsy = falsy;\n\n/**\n * Returns `true` if the operand (one) is greater or equal to the test's\n * argument (two).\n * @param { number } one\n * @param { number } two\n * @returns { boolean }\n */\nfunction ge(one, two) {\n return one >= two;\n}\n\nexports.ge = ge;\n\n/**\n * Returns `true` if the operand (one) is greater than the test's argument\n * (two).\n * @param { number } one\n * @param { number } two\n * @returns { boolean }\n */\nfunction greaterthan(one, two) {\n return one > two;\n}\n\nexports.greaterthan = greaterthan;\n\n// alias\nexports.gt = exports.greaterthan;\n\n/**\n * Returns `true` if the operand (one) is less than or equal to the test's\n * argument (two).\n * @param { number } one\n * @param { number } two\n * @returns { boolean }\n */\nfunction le(one, two) {\n return one <= two;\n}\n\nexports.le = le;\n\n/**\n * Returns `true` if the operand (one) is less than the test's passed argument\n * (two).\n * @param { number } one\n * @param { number } two\n * @returns { boolean }\n */\nfunction lessthan(one, two) {\n return one < two;\n}\n\nexports.lessthan = lessthan;\n\n// alias\nexports.lt = exports.lessthan;\n\n/**\n * Returns `true` if the string is lowercased.\n * @param { string } value\n * @returns { boolean }\n */\nfunction lower(value) {\n return value.toLowerCase() === value;\n}\n\nexports.lower = lower;\n\n/**\n * Returns `true` if the operand (one) is less than or equal to the test's\n * argument (two).\n * @param { number } one\n * @param { number } two\n * @returns { boolean }\n */\nfunction ne(one, two) {\n return one !== two;\n}\n\nexports.ne = ne;\n\n/**\n * Returns true if the value is strictly equal to `null`.\n * @param { any }\n * @returns { boolean }\n */\nfunction nullTest(value) {\n return value === null;\n}\n\nexports.null = nullTest;\n\n/**\n * Returns true if value is a number.\n * @param { any }\n * @returns { boolean }\n */\nfunction number(value) {\n return typeof value === 'number';\n}\n\nexports.number = number;\n\n/**\n * Returns `true` if the value is *not* evenly divisible by 2.\n * @param { number } value\n * @returns { boolean }\n */\nfunction odd(value) {\n return value % 2 === 1;\n}\n\nexports.odd = odd;\n\n/**\n * Returns `true` if the value is a string, `false` if not.\n * @param { any } value\n * @returns { boolean }\n */\nfunction string(value) {\n return typeof value === 'string';\n}\n\nexports.string = string;\n\n/**\n * Returns `true` if the value is not in the list of things considered falsy:\n * '', null, undefined, 0, NaN and false.\n * @param { any } value\n * @returns { boolean }\n */\nfunction truthy(value) {\n return !!value;\n}\n\nexports.truthy = truthy;\n\n/**\n * Returns `true` if the value is undefined.\n * @param { any } value\n * @returns { boolean }\n */\nfunction undefinedTest(value) {\n return value === undefined;\n}\n\nexports.undefined = undefinedTest;\n\n/**\n * Returns `true` if the string is uppercased.\n * @param { string } value\n * @returns { boolean }\n */\nfunction upper(value) {\n return value.toUpperCase() === value;\n}\n\nexports.upper = upper;\n\n/**\n * If ES6 features are available, returns `true` if the value implements the\n * `Symbol.iterator` method. If not, it's a string or Array.\n *\n * Could potentially cause issues if a browser exists that has Set and Map but\n * not Symbol.\n *\n * @param { any } value\n * @returns { boolean }\n */\nfunction iterable(value) {\n if (typeof Symbol !== 'undefined') {\n return !!value[Symbol.iterator];\n } else {\n return Array.isArray(value) || typeof value === 'string';\n }\n}\n\nexports.iterable = iterable;\n\n/**\n * If ES6 features are available, returns `true` if the value is an object hash\n * or an ES6 Map. Otherwise just return if it's an object hash.\n * @param { any } value\n * @returns { boolean }\n */\nfunction mapping(value) {\n // only maps and object hashes\n var bool = value !== null\n && value !== undefined\n && typeof value === 'object'\n && !Array.isArray(value);\n if (Set) {\n return bool && !(value instanceof Set);\n } else {\n return bool;\n }\n}\n\nexports.mapping = mapping;\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/tests.js","'use strict';\n\nfunction cycler(items) {\n var index = -1;\n\n return {\n current: null,\n reset() {\n index = -1;\n this.current = null;\n },\n\n next() {\n index++;\n if (index >= items.length) {\n index = 0;\n }\n\n this.current = items[index];\n return this.current;\n },\n };\n}\n\nfunction joiner(sep) {\n sep = sep || ',';\n let first = true;\n\n return () => {\n const val = first ? '' : sep;\n first = false;\n return val;\n };\n}\n\n// Making this a function instead so it returns a new object\n// each time it's called. That way, if something like an environment\n// uses it, they will each have their own copy.\nfunction globals() {\n return {\n range(start, stop, step) {\n if (typeof stop === 'undefined') {\n stop = start;\n start = 0;\n step = 1;\n } else if (!step) {\n step = 1;\n }\n\n const arr = [];\n if (step > 0) {\n for (let i = start; i < stop; i += step) {\n arr.push(i);\n }\n } else {\n for (let i = start; i > stop; i += step) { // eslint-disable-line for-direction\n arr.push(i);\n }\n }\n return arr;\n },\n\n cycler() {\n return cycler(Array.prototype.slice.call(arguments));\n },\n\n joiner(sep) {\n return joiner(sep);\n }\n };\n}\n\nmodule.exports = globals;\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/globals.js","const path = require('path');\n\nmodule.exports = function express(env, app) {\n function NunjucksView(name, opts) {\n this.name = name;\n this.path = name;\n this.defaultEngine = opts.defaultEngine;\n this.ext = path.extname(name);\n if (!this.ext && !this.defaultEngine) {\n throw new Error('No default engine was specified and no extension was provided.');\n }\n if (!this.ext) {\n this.name += (this.ext = (this.defaultEngine[0] !== '.' ? '.' : '') + this.defaultEngine);\n }\n }\n\n NunjucksView.prototype.render = function render(opts, cb) {\n env.render(this.name, opts, cb);\n };\n\n app.set('view', NunjucksView);\n app.set('nunjucksEnv', env);\n return env;\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/express-app.js","function installCompat() {\n 'use strict';\n\n /* eslint-disable camelcase */\n\n // This must be called like `nunjucks.installCompat` so that `this`\n // references the nunjucks instance\n var runtime = this.runtime;\n var lib = this.lib;\n // Handle slim case where these 'modules' are excluded from the built source\n var Compiler = this.compiler.Compiler;\n var Parser = this.parser.Parser;\n var nodes = this.nodes;\n var lexer = this.lexer;\n\n var orig_contextOrFrameLookup = runtime.contextOrFrameLookup;\n var orig_memberLookup = runtime.memberLookup;\n var orig_Compiler_assertType;\n var orig_Parser_parseAggregate;\n if (Compiler) {\n orig_Compiler_assertType = Compiler.prototype.assertType;\n }\n if (Parser) {\n orig_Parser_parseAggregate = Parser.prototype.parseAggregate;\n }\n\n function uninstall() {\n runtime.contextOrFrameLookup = orig_contextOrFrameLookup;\n runtime.memberLookup = orig_memberLookup;\n if (Compiler) {\n Compiler.prototype.assertType = orig_Compiler_assertType;\n }\n if (Parser) {\n Parser.prototype.parseAggregate = orig_Parser_parseAggregate;\n }\n }\n\n runtime.contextOrFrameLookup = function contextOrFrameLookup(context, frame, key) {\n var val = orig_contextOrFrameLookup.apply(this, arguments);\n if (val !== undefined) {\n return val;\n }\n switch (key) {\n case 'True':\n return true;\n case 'False':\n return false;\n case 'None':\n return null;\n default:\n return undefined;\n }\n };\n\n function getTokensState(tokens) {\n return {\n index: tokens.index,\n lineno: tokens.lineno,\n colno: tokens.colno\n };\n }\n\n if (process.env.BUILD_TYPE !== 'SLIM' && nodes && Compiler && Parser) { // i.e., not slim mode\n const Slice = nodes.Node.extend('Slice', {\n fields: ['start', 'stop', 'step'],\n init(lineno, colno, start, stop, step) {\n start = start || new nodes.Literal(lineno, colno, null);\n stop = stop || new nodes.Literal(lineno, colno, null);\n step = step || new nodes.Literal(lineno, colno, 1);\n this.parent(lineno, colno, start, stop, step);\n }\n });\n\n Compiler.prototype.assertType = function assertType(node) {\n if (node instanceof Slice) {\n return;\n }\n orig_Compiler_assertType.apply(this, arguments);\n };\n Compiler.prototype.compileSlice = function compileSlice(node, frame) {\n this._emit('(');\n this._compileExpression(node.start, frame);\n this._emit('),(');\n this._compileExpression(node.stop, frame);\n this._emit('),(');\n this._compileExpression(node.step, frame);\n this._emit(')');\n };\n\n Parser.prototype.parseAggregate = function parseAggregate() {\n var origState = getTokensState(this.tokens);\n // Set back one accounting for opening bracket/parens\n origState.colno--;\n origState.index--;\n try {\n return orig_Parser_parseAggregate.apply(this);\n } catch (e) {\n const errState = getTokensState(this.tokens);\n const rethrow = () => {\n lib._assign(this.tokens, errState);\n return e;\n };\n\n // Reset to state before original parseAggregate called\n lib._assign(this.tokens, origState);\n this.peeked = false;\n\n const tok = this.peekToken();\n if (tok.type !== lexer.TOKEN_LEFT_BRACKET) {\n throw rethrow();\n } else {\n this.nextToken();\n }\n\n const node = new Slice(tok.lineno, tok.colno);\n\n // If we don't encounter a colon while parsing, this is not a slice,\n // so re-raise the original exception.\n let isSlice = false;\n\n for (let i = 0; i <= node.fields.length; i++) {\n if (this.skip(lexer.TOKEN_RIGHT_BRACKET)) {\n break;\n }\n if (i === node.fields.length) {\n if (isSlice) {\n this.fail('parseSlice: too many slice components', tok.lineno, tok.colno);\n } else {\n break;\n }\n }\n if (this.skip(lexer.TOKEN_COLON)) {\n isSlice = true;\n } else {\n const field = node.fields[i];\n node[field] = this.parseExpression();\n isSlice = this.skip(lexer.TOKEN_COLON) || isSlice;\n }\n }\n if (!isSlice) {\n throw rethrow();\n }\n return new nodes.Array(tok.lineno, tok.colno, [node]);\n }\n };\n }\n\n function sliceLookup(obj, start, stop, step) {\n obj = obj || [];\n if (start === null) {\n start = (step < 0) ? (obj.length - 1) : 0;\n }\n if (stop === null) {\n stop = (step < 0) ? -1 : obj.length;\n } else if (stop < 0) {\n stop += obj.length;\n }\n\n if (start < 0) {\n start += obj.length;\n }\n\n const results = [];\n\n for (let i = start; ; i += step) {\n if (i < 0 || i > obj.length) {\n break;\n }\n if (step > 0 && i >= stop) {\n break;\n }\n if (step < 0 && i <= stop) {\n break;\n }\n results.push(runtime.memberLookup(obj, i));\n }\n return results;\n }\n\n function hasOwnProp(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n }\n\n const ARRAY_MEMBERS = {\n pop(index) {\n if (index === undefined) {\n return this.pop();\n }\n if (index >= this.length || index < 0) {\n throw new Error('KeyError');\n }\n return this.splice(index, 1);\n },\n append(element) {\n return this.push(element);\n },\n remove(element) {\n for (let i = 0; i < this.length; i++) {\n if (this[i] === element) {\n return this.splice(i, 1);\n }\n }\n throw new Error('ValueError');\n },\n count(element) {\n var count = 0;\n for (let i = 0; i < this.length; i++) {\n if (this[i] === element) {\n count++;\n }\n }\n return count;\n },\n index(element) {\n var i;\n if ((i = this.indexOf(element)) === -1) {\n throw new Error('ValueError');\n }\n return i;\n },\n find(element) {\n return this.indexOf(element);\n },\n insert(index, elem) {\n return this.splice(index, 0, elem);\n }\n };\n const OBJECT_MEMBERS = {\n items() {\n return lib._entries(this);\n },\n values() {\n return lib._values(this);\n },\n keys() {\n return lib.keys(this);\n },\n get(key, def) {\n var output = this[key];\n if (output === undefined) {\n output = def;\n }\n return output;\n },\n has_key(key) {\n return hasOwnProp(this, key);\n },\n pop(key, def) {\n var output = this[key];\n if (output === undefined && def !== undefined) {\n output = def;\n } else if (output === undefined) {\n throw new Error('KeyError');\n } else {\n delete this[key];\n }\n return output;\n },\n popitem() {\n const keys = lib.keys(this);\n if (!keys.length) {\n throw new Error('KeyError');\n }\n const k = keys[0];\n const val = this[k];\n delete this[k];\n return [k, val];\n },\n setdefault(key, def = null) {\n if (!(key in this)) {\n this[key] = def;\n }\n return this[key];\n },\n update(kwargs) {\n lib._assign(this, kwargs);\n return null; // Always returns None\n }\n };\n OBJECT_MEMBERS.iteritems = OBJECT_MEMBERS.items;\n OBJECT_MEMBERS.itervalues = OBJECT_MEMBERS.values;\n OBJECT_MEMBERS.iterkeys = OBJECT_MEMBERS.keys;\n\n runtime.memberLookup = function memberLookup(obj, val, autoescape) {\n if (arguments.length === 4) {\n return sliceLookup.apply(this, arguments);\n }\n obj = obj || {};\n\n // If the object is an object, return any of the methods that Python would\n // otherwise provide.\n if (lib.isArray(obj) && hasOwnProp(ARRAY_MEMBERS, val)) {\n return ARRAY_MEMBERS[val].bind(obj);\n }\n if (lib.isObject(obj) && hasOwnProp(OBJECT_MEMBERS, val)) {\n return OBJECT_MEMBERS[val].bind(obj);\n }\n\n return orig_memberLookup.apply(this, arguments);\n };\n\n return uninstall;\n}\n\nmodule.exports = installCompat;\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/jinja-compat.js"],"sourceRoot":""}